链接器说_IsolationAwareLoadLibrary是未定义的——任何想法

linker says _IsolationAwareLoadLibrary is undefined - any ideas?

本文关键字:任何想 未定义 IsolationAwareLoadLibrary 链接      更新时间:2023-10-16

我在代码中添加了一些boost内容*,链接阶段失败:

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

有人能帮我弄清楚吗?kernel32.lib添加到链接器设置中。我搜索了_IsolationAwareLoadLibraryA,但它似乎不存在于我正在使用的Windows SDK 6.0A中。如果这很重要的话,这个项目就是CLR。

*boost是两个共享的内存头:

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

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

原来我使用的项目在预处理器定义中添加了"ISOLATION_AWARE_ENABLED=1"。删除它修复了链接器错误。但不确定这是否不会引起任何其他问题。令人不安的是,我浪费了很多时间来解决与使用第三方C/C++库构建项目相关的各种问题。

相关文章: