компоновщик говорит, что _IsolationAwareLoadLibrary не определена - есть идеи? - PullRequest
1 голос
/ 03 июня 2011

Я добавил некоторые улучшения * к своему коду, и фаза связывания не удалась:

ошибка LNK2019: неразрешенный внешний символ _IsolationAwareLoadLibraryA @ 4, указанный в функции "void * __cdecl boost :: interprocess :: winapi :: load_library (char const *)" (? Load_library @ winapi @ interprocess @ boost @@ YAPAXPBD @)

Может кто-нибудь помочь мне понять это? В настройках компоновщика добавлен kernel32.lib. Я искал _IsolationAwareLoadLibraryA, и его нет в Windows SDK 6.0A, который я использую. Проект CLR, если это имеет значение.

* бустом являются два заголовка общей памяти:

#include <boost/interprocess/shared_memory_object.hpp>
#include <boost/interprocess/mapped_region.hpp>

Ответы [ 2 ]

1 голос
/ 04 июня 2011

Оказалось, что в проекте, который я использовал, к определениям препроцессора добавили «ISOLATION_AWARE_ENABLED = 1».Удаление это исправило ошибку компоновщика.Не уверен, не вызовет ли это никаких других проблем.Тревожным фактом является то, что я трачу много времени просто на решение различных вопросов, связанных с созданием моего проекта с помощью сторонних библиотек C / C ++.

1 голос
/ 03 июня 2011

Эти функции являются частью SDK 7.0A, и они должны быть встроенными (поэтому нет необходимости указывать файл .lib).Попробуйте загрузить и использовать более новый SDK и убедитесь, что ISOLATION_AWARE_ENABLED получает #defined, потому что именно это вызывает включение этих функций.Я думаю, что Boost должен определить это сам по себе.

...