我有一个简单的 c 文件:
#include <glib.h>
int main(int argc, char *argv[])
{
guchar temp = 1;
GSList *list = NULL;
list = g_slist_append(list, (int []){1});
}
和一个简单的 CMakeLists.txt 文件:
PROJECT (GLIB_TEST)
cmake_minimum_required(VERSION 2.8)
set(CMAKE_C_COMPILER "/usr/bin/c99")
find_package(PkgConfig)
pkg_check_modules(GLIB REQUIRED glib-2.0)
include_directories(${GLIB_INCLUDE_DIRS})
add_executable(glibtest glibtest.c)
target_link_libraries(glibtest ${GLIB_LIBRARIES})
我用
$ cmake -G'Eclipse CDT4 - Unix Makefiles' -D CMAKE_BUILD_TYPE=Debug ../src
从“兄弟”构建目录。然后我将项目导入eclipse。
除了某些定义没有解决之外,一切似乎都很好。特别是在这种情况下,即使 glib.h 明确包含在项目“C/C++ 包含路径和符号”中的“/usr/include/glib-2.0”中,“guchar”或“GSList”都没有得到解决(我已经验证了这一点)。
具体错误是“无法解析类型'guchar'”和“无法解析类型'GSList'”。
从命令行“make”成功,没有错误。有任何想法吗?