使用Cmake构建Box2d

时间:2016-06-23 22:52:02

标签: cmake box2d glfw

我一直在尝试在Windows上使用Cmake构建Box2d。这是我第一次尝试这样的东西,所以我按照教程。但是,当我点击'配置'它开始工作,直到它向我显示此错误消息:

"您已为库glfw调用ADD_LIBRARY而没有任何源文件。这通常表示您的CMakeLists.txt文件存在问题"。

我在谷歌搜索了这个错误,但我没有找到任何有同样问题的人。有谁知道我怎么解决这个问题?

编辑:版本为:

Cmake:3.5.2
Box2d:它没有说。我该怎么说?

1 个答案:

答案 0 :(得分:0)

出现此问题是因为SOURCES未正确设置,添加“else”条件,因为我在下面将解决此问题。

if (_GLFW_COCOA)
set(glfw_HEADERS ${common_HEADERS} cocoa_platform.h iokit_joystick.h
                 posix_tls.h)
set(glfw_SOURCES ${common_SOURCES} cocoa_init.m cocoa_monitor.m
                 cocoa_window.m iokit_joystick.m mach_time.c posix_tls.c)
elseif (_GLFW_WIN32)
set(glfw_HEADERS ${common_HEADERS} win32_platform.h win32_tls.h
                 winmm_joystick.h)
set(glfw_SOURCES ${common_SOURCES} win32_init.c win32_monitor.c win32_time.c
                 win32_tls.c win32_window.c winmm_joystick.c)
elseif (_GLFW_X11)
set(glfw_HEADERS ${common_HEADERS} x11_platform.h xkb_unicode.h
                 linux_joystick.h posix_time.h posix_tls.h)
set(glfw_SOURCES ${common_SOURCES} x11_init.c x11_monitor.c x11_window.c
                 xkb_unicode.c linux_joystick.c posix_time.c posix_tls.c)
elseif (_GLFW_WAYLAND)
set(glfw_HEADERS ${common_HEADERS} wl_platform.h linux_joystick.h
                 posix_time.h posix_tls.h xkb_unicode.h)
set(glfw_SOURCES ${common_SOURCES} wl_init.c wl_monitor.c wl_window.c
                 linux_joystick.c posix_time.c posix_tls.c xkb_unicode.c)
elseif (_GLFW_MIR)
set(glfw_HEADERS ${common_HEADERS} mir_platform.h linux_joystick.h
                 posix_time.h posix_tls.h xkb_unicode.h)
set(glfw_SOURCES ${common_SOURCES} mir_init.c mir_monitor.c mir_window.c
                 linux_joystick.c posix_time.c posix_tls.c xkb_unicode.c)
else()
set(glfw_HEADERS ${common_HEADERS} win32_platform.h win32_tls.h
                     winmm_joystick.h)
set(glfw_SOURCES ${common_SOURCES} win32_init.c win32_monitor.c win32_time.c
                     win32_tls.c win32_window.c winmm_joystick.c)            
endif()