代码之家  ›  专栏  ›  技术社区  ›  JMcCarty

我如何使用C++中的本地代码与多个依赖库封装的C++/CLI DLL?

  •  0
  • JMcCarty  · 技术社区  · 14 年前

    我想知道我将如何正确地建立一个C++/CLI库,它封装了具有几个依赖关系的本机C++代码。我尝试过静态和动态地将本机库链接到它的依赖库,但都没有成功。

    3 回复  |  直到 9 年前
        1
  •  2
  •   JMcCarty    14 年前

    我解决了问题,现在一切正常。这是几个不正确的事情一起发生的组合。

    如果有人有同样的问题,我会通过设置以下内容来解决:

    1) 引用的Boost库(特别是Boost\u thread)需要使用Boost\u thread\u USE\u DLL预处理器编译(其他Boost库可能需要Boost\u ALL\u DYN\u LINK来动态链接所有内容)。这显然是一个共同的问题。

    2) 我验证了所有依赖项都在系统路径中(就像rubben重申的那样)

    4) 我的包装器的一部分使用了列表的#include头。这迫使我的库与2.0框架相关库进行链接。这与我的4.0客户端C应用程序不兼容。这只是通过编译的警告来解析的(以前隐藏的是C++产生了太多……我知道的愚蠢)。但是,这导致抛出System.BadImageFormateeException,尽管所有操作都针对相同的x86体系结构。

    希望这能帮助其他有同样问题的人。BadImageFormateeException和FileNotFoundException完全太模糊,没有帮助。

        2
  •  0
  •   Behrooz    14 年前

        3
  •  0
  •   R Ubben    14 年前