【问题标题】:Linking VS2010 with Assimp将 VS2010 与 Assimp 链接
【发布时间】:2014-03-15 05:15:09
【问题描述】:

我一直在尝试让 assimp 与 VS2010 一起工作。我见过很多与此类似的问题,但我无法让它发挥作用。在http://assimp.sourceforge.net/lib_html/install.html 阅读安装教程,但仍然无法正常工作。

这是我为 VS2010 项目设置所做的:

  1. 所有配置 -> 配置属性 -> VC++ 目录 -> 添加库目录 C:\assimp--3.0.1270-sdk\lib\assimp_release-dll_x64

  2. 所有配置 -> 配置属性 -> VC++ 目录 -> 添加的包含目录 C:\assimp--3.0.1270-sdk\include

  3. 所有配置 -> 配置属性 -> C++ -> 常规 -> 添加的其他包含目录 C:\assimp--3.0.1270-sdk\include

  4. 所有配置 -> 配置属性 -> 链接器 -> 输入 -> 添加 assimp.lib 的附加依赖项

当我编写以下代码时:

#include <assimp/Importer.hpp>      // C++ importer interface
#include <assimp/scene.h>           // Output data structure
#include <assimp/postprocess.h>     // Post processing flags

Assimp::Importer importer;

这是我得到的错误:

Error   2   error LNK2019: unresolved external symbol "public: __thiscall Assimp::Importer::Importer(void)" (??0Importer@Assimp@@QAE@XZ) referenced in function "void __cdecl `dynamic initializer for 'importer''(void)" (??__Eimporter@@YAXXZ)    C:\Users\Martin Liu\documents\visual studio 2010\Projects\MyGame\MyGame\Game.obj    MyGame

Error   3   error LNK2019: unresolved external symbol "public: __thiscall Assimp::Importer::~Importer(void)" (??1Importer@Assimp@@QAE@XZ) referenced in function "void __cdecl `dynamic atexit destructor for 'importer''(void)" (??__Fimporter@@YAXXZ) C:\Users\Martin Liu\documents\visual studio 2010\Projects\MyGame\MyGame\Game.obj    MyGame

任何帮助将不胜感激

【问题讨论】:

  • 我对此并不熟悉,但是...您是否将您的应用位数(例如 32 位)与上述库的版本(x64)相匹配?
  • 我想是的,我的 comp 是 64 位的,我用 x64 版本做那些库
  • 好的,但是 Visual Studio 项目是否配置为 64? VS 默认创建 32 位的。您可以通过右键单击项目并选择“属性”然后选择“配置管理器”按钮来检查这一点
  • 啊,谢谢,将它们从 x64 更改为 x86 解决了我的问题
  • 好吧,那我来回答一下。

标签: c++ visual-studio-2010 assimp


【解决方案1】:

确保您的应用程序的位数与您的库的位数相匹配。例如。如果您的项目是 32 位,则无法链接 x64 库。

您可以通过右键单击项目并选择“属性”然后选择“配置管理器”按钮来检查这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    • 2014-06-23
    • 2013-09-24
    • 2015-06-28
    • 2021-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多