Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何使用CMake将Assimp设置为单独的项目(git子模块)?_C++_Cmake_Mingw_Git Submodules_Assimp - Fatal编程技术网

C++ 如何使用CMake将Assimp设置为单独的项目(git子模块)?

C++ 如何使用CMake将Assimp设置为单独的项目(git子模块)?,c++,cmake,mingw,git-submodules,assimp,C++,Cmake,Mingw,Git Submodules,Assimp,我在向我的项目(由exe和库项目组成)添加ASIMP时遇到问题。在Assimp之前,我将GLFW、GLEW和GLM作为git子模块添加到我的项目中。更重要的是,我用CMake做的。现在我想对阿西姆做同样的事情,但不知为什么我做不到 我成功地将其添加为子模块。然后,在我的CMake文件(库项目)中,我添加了以下行: include_directories(assimp/include) add_subdirectory(assimp) target_link_libraries(MyLibrary

我在向我的项目(由exe和库项目组成)添加ASIMP时遇到问题。在Assimp之前,我将GLFW、GLEW和GLM作为git子模块添加到我的项目中。更重要的是,我用CMake做的。现在我想对阿西姆做同样的事情,但不知为什么我做不到

我成功地将其添加为子模块。然后,在我的CMake文件(库项目)中,我添加了以下行:

include_directories(assimp/include)
add_subdirectory(assimp)
target_link_libraries(MyLibrary PRIVATE assimp)
但编译失败了。然后我设置了一些选项:

set(BUILD_SHARED_LIBS OFF)
set(INJECT_DEBUG_POSTFIX OFF)
但是CLion告诉我我的exe文件已经损坏了。我只为ASIMP创建了新的测试项目(因为为什么不),设置了相同的选项(关于ASIMP),编译成功了。但程序不想运行,接下来它“运行了”,但甚至并没有进入主函数(退出程序,代码为1)。我使用MinGW作为编译器,尝试切换到visualstudio编译器,但编译失败,所以我回到了MinGW

我正试图通过这种方式(将CMake和Assimp作为子模块)来创建跨平台的项目。Assimp安装教程建议使用cmake(作为控制台中的命令或“cmake GUI”)构建它,然后使用Visual Studio(例如在Windows上)创建(通过编译/构建)并获取lib/dll文件,但我不想这样做


知道我做错了什么吗?我对CMake和跨平台制作程序相当陌生,所以这可能是一件简单的事情。对于任何答案-提前感谢您

问题描述“…但编译失败”不是我们可以帮助您解决的问题。相反,显示您收到的确切错误消息。同样是关于“…但是CLion告诉我我的exe文件已损坏”。是的,这是真的,对此很抱歉,但现在我正在处理程序以代码1退出(甚至没有进入主程序),所以我认为有关以前问题的详细信息不太重要。我试图返回到那些设置(比如在cmake文件中没有那些设置(…),但不知何故编译也成功了。我不知道发生了什么事:(