链接器说_IsolationAwareLoadLibrary未定义 - 任何想法?

时间:2011-06-03 18:03:40

标签: c++ c windows visual-studio linker

我在代码中添加了一些增强功能*,链接阶段失败了:

  

错误LNK2019:函数“void * __cdecl boost :: interprocess :: winapi :: load_library(char const *)”中引用了未解析的外部符号_IsolationAwareLoadLibraryA @ 4(?load_library @ winapi @interprocess @ boost @@ YAPAXPBD @ Z)

任何人都可以帮我解决这个问题吗?在链接器设置中添加了kernel32.lib。我搜索了_IsolationAwareLoadLibraryA,它似乎没有出现在我正在使用的Windows SDK 6.0A中。如果重要,该项目是CLR。

*增强内容是两个共享内存头:

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

2 个答案:

答案 0 :(得分:1)

此函数是SDK 7.0A的一部分,它们应该是内联的(因此不需要指定.lib文件)。尝试下载并使用较新的SDK,并确保ISOLATION_AWARE_ENABLED获得#defined,因为这是触发包含这些功能的原因。我想升压应该自己定义它。

答案 1 :(得分:1)

事实证明我使用的项目在预处理器定义中添加了“ISOLATION_AWARE_ENABLED = 1”。删除它修复了链接器错误。不确定这是否会导致任何其他问题。令人不安的事实是,我浪费了大量时间来解决与使用第三方C / C ++库构建项目相关的各种问题。