2017-06-14 656 views
0

下面是我使用无法使用CMake编译libwebsockets?

cmake_minimum_required (VERSION 3.0) 

project (Project) 

set (CMAKE_CXX_FLAGS_DEBUG "-std=c++11 -O0 -DDEBUG -g") 
set (CMAKE_C_FLAGS_DEBUG "-std=c++11 -O0 -DDEBUG -g") 
set (CMAKE_CXX_FLAGS_RELEASE "-std=c++11 -O3") 
set (CMAKE_C_FLAGS_RELEASE "-std=c++11 -O3") 

add_subdirectory (external/libwebsockets) 
include_directories (external/libwebsockets/lib) 

include_directories (src/globals) 

add_library (libwebsockets SHARED IMPORTED) 

add_executable (Project src/main.c) 

target_link_libraries (Project libwebsockets) 

Libwebsockets已被添加为external/libwebsockets下一个git子模块的cmake的配置。我收到以下错误,而以上配置构建

In file included from /home/Project/server/src/main.c:2:0: 
/home/Project/server/external/libwebsockets/lib/libwebsockets.h:43:24: fatal error: lws_config.h: No such file or directory 
compilation terminated. 
CMakeFiles/Project.dir/build.make:62: recipe for target 'CMakeFiles/Project.dir/src/main.c.o' failed 
make[2]: *** [CMakeFiles/Project.dir/src/main.c.o] Error 1 
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/Project.dir/all' failed 
make[1]: *** [CMakeFiles/Project.dir/all] Error 2 
Makefile:149: recipe for target 'all' failed 
make: *** [all] Error 2 

有人可以帮助我我要去的地方错了,如果我正确地写CMake配置脚本?

回答

0

以下文件无法找到:

lws_config.h:没有这样的文件或目录 编译终止。

当从libwebsockets.h在管线43中引用:

libwebsockets.h:43:24:

这同时编译main.c生成:

在文件中包含from /home/Project/server/src/main.c:2:0:

你知道你的子模块树中是否有`lws_config.h'吗?

+0

没有lws_config.h文件。其实际上是lws_config.h.in,并通过传递一些cmake变量来生成。该文件位于libwebsockets根文件夹内 – georoot

+0

看来您的'lws_config.h'文件没有被生成。根据你现在提供的信息,我无法帮助你。 – snoopy

+0

@georoot如果您提供更多信息,例如您的子模块'CMakeLists.txt'文件,我可以提供帮助 – snoopy