Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.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

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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.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++ CLion上的libigl、GLEW、GLFW和Eigen,Windows 10。链接器错误_C++_Cmake_Clion_Glew_Libigl - Fatal编程技术网

C++ CLion上的libigl、GLEW、GLFW和Eigen,Windows 10。链接器错误

C++ CLion上的libigl、GLEW、GLFW和Eigen,Windows 10。链接器错误,c++,cmake,clion,glew,libigl,C++,Cmake,Clion,Glew,Libigl,我肯定我遗漏了一些琐碎的东西,但我不能确定是什么 我正在使用CLion构建一个包含四个外部库的项目。我正试图把艾根,格雷夫,格雷夫和利比格尔联系起来。我在VS2015中使用VC++编译器 这是我的cmake文件的一次迭代: cmake_minimum_required(VERSION 3.9) project(Lab1) set(CMAKE_VERBOSE_MAKEFILE ON) set(CMAKE_CXX_STANDARD 17) add_executable(Lab1 main.cp

我肯定我遗漏了一些琐碎的东西,但我不能确定是什么

我正在使用CLion构建一个包含四个外部库的项目。我正试图把艾根,格雷夫,格雷夫和利比格尔联系起来。我在VS2015中使用VC++编译器

这是我的cmake文件的一次迭代:

cmake_minimum_required(VERSION 3.9)
project(Lab1)

set(CMAKE_VERBOSE_MAKEFILE ON)

set(CMAKE_CXX_STANDARD 17)

add_executable(Lab1 main.cpp)

include_directories(external/libigl/include)
include_directories(external/glfw/include/)
include_directories(external/eigen-git-mirror/)

include_directories(external/glew_2_1_0/include)

INCLUDE_DIRECTORIES(external/glew_2_1_0/lib/Release/x64)
link_libraries(external/glew_2_1_0/lib/Release/x64)
我已经在VC++中将glew库(32位和64位)添加到各自的文件夹中。我还将glew32.dll文件添加到(64位和32位)系统文件夹中各自的文件夹中。如果我在Cmake文件中定义了在何处查找它们,我认为我不需要这样做,但我不能完全确定

这是我在CLion中的文件夹结构:

以下是main.cpp在重要情况下包含的内容:

#include <igl/readOFF.h>
#include <igl/viewer/Viewer.h>

Eigen::MatrixXd V;
Eigen::MatrixXi F;

int main(int argc, char *argv[])
{
    // Load a mesh in OFF format
    igl::readOFF("bunny.off", V, F);

    // Plot the mesh
    igl::viewer::Viewer viewer;
    viewer.data.set_mesh(V, F);
    viewer.launch();
}
谢谢你的帮助


编辑: 齐瓦雷夫帮我解决了明显的错误。也将所有内容更改为32位。减少到47个未解决的外部问题。将在它工作后更新。 当前Cmake:

cmake_minimum_required(VERSION 3.9)
project(Lab1)

set(CMAKE_VERBOSE_MAKEFILE ON)

set(CMAKE_CXX_STANDARD 17)

link_libraries(../external/glew_2_1_0/lib/Release/Win32/glew32s)


add_executable(Lab1 main.cpp)


include_directories(external/libigl/include)
include_directories(external/glfw/include/)
include_directories(external/eigen-git-mirror/)

include_directories(external/glew_2_1_0/include)
编辑解决一切正常!丢失了一些图书馆。决定在本地连接它们。下面是下一个倾注灵魂的例子:

cmake_minimum_required(VERSION 3.9)
project(Lab1)

set(CMAKE_VERBOSE_MAKEFILE ON)

set(CMAKE_CXX_STANDARD 17)

link_libraries(../external/glew_2_1_0/lib/Release/Win32/glew32s)
link_libraries(../external/glfw/lib-vc2015/glfw3)

link_libraries(../external/openGL/OPENGL32)
link_libraries(../external/openGL/glut32)
link_libraries(../external/openGL/glu32)

find_package(OpenGL REQUIRED)
include_directories( ${OPENGL_INCLUDE_DIRS})
#target_link_libraries(${PROJECTNAME} ${OPENGL_LIBRARIES})




add_executable(Lab1 main.cpp)


include_directories(external/libigl/include)
include_directories(external/glfw/include/)
include_directories(external/eigen-git-mirror/)

include_directories(external/glew_2_1_0/include)

谢谢你的帮助

命令
link\u库
仅影响其他目标,因此应在调用
添加可执行文件
之前发出该命令



另外,
link\u库
接受库文件,而不是包含它们的目录。

谢谢!也将所有内容更改为32位。我有两个问题:
include\u目录
link\u库
之间有什么区别?2) 我不知道为什么我安装的igl没有这个文件夹viewer/viewer.h,并显示一个错误`致命错误:igl/viewer/viewer.h:没有这样的文件或目录`
cmake_minimum_required(VERSION 3.9)
project(Lab1)

set(CMAKE_VERBOSE_MAKEFILE ON)

set(CMAKE_CXX_STANDARD 17)

link_libraries(../external/glew_2_1_0/lib/Release/Win32/glew32s)
link_libraries(../external/glfw/lib-vc2015/glfw3)

link_libraries(../external/openGL/OPENGL32)
link_libraries(../external/openGL/glut32)
link_libraries(../external/openGL/glu32)

find_package(OpenGL REQUIRED)
include_directories( ${OPENGL_INCLUDE_DIRS})
#target_link_libraries(${PROJECTNAME} ${OPENGL_LIBRARIES})




add_executable(Lab1 main.cpp)


include_directories(external/libigl/include)
include_directories(external/glfw/include/)
include_directories(external/eigen-git-mirror/)

include_directories(external/glew_2_1_0/include)