【问题标题】:linker says _IsolationAwareLoadLibrary is undefined - any ideas?链接器说 _IsolationAwareLoadLibrary 未定义 - 有什么想法吗?
【发布时间】:2011-09-08 00:33:23
【问题描述】:

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

错误 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>

【问题讨论】:

  • 你添加了什么增强的东西?

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-12-27
      • 1970-01-01
      • 2023-02-24
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多