Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.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++ GTKMM不是';t使用我的CLion安装(Windows 10)。CMakeLists.txt-找不到PkgConfig_C++_Windows_Cmake_Clion - Fatal编程技术网

C++ GTKMM不是';t使用我的CLion安装(Windows 10)。CMakeLists.txt-找不到PkgConfig

C++ GTKMM不是';t使用我的CLion安装(Windows 10)。CMakeLists.txt-找不到PkgConfig,c++,windows,cmake,clion,C++,Windows,Cmake,Clion,我有一个可能是初学者要问的问题:我正试图让Gtk在windows环境中与CLion一起运行 我已经试过了:有几次(为了确认我做得正确),在我的系统路径设置中添加了一些东西,以及尝试操作CLion中的CMakeLists.txt文件,但它似乎无法找到库。我一直在使用stackoverflow,以不同的方式提出我的问题,并尝试了一些解决方案,但到目前为止运气不佳 是否可以在CLion中使用gtk标头 我在尝试运行带有gtkmm头的程序时遇到以下错误:致命错误:gtkmm/application.h:

我有一个可能是初学者要问的问题:我正试图让Gtk在windows环境中与CLion一起运行

我已经试过了:有几次(为了确认我做得正确),在我的系统路径设置中添加了一些东西,以及尝试操作CLion中的CMakeLists.txt文件,但它似乎无法找到库。我一直在使用stackoverflow,以不同的方式提出我的问题,并尝试了一些解决方案,但到目前为止运气不佳

是否可以在CLion中使用gtk标头

我在尝试运行带有gtkmm头的程序时遇到以下错误:致命错误:gtkmm/application.h:没有这样的文件或目录

我的CMakeLists.txt如下所示:

cmake_minimum_required(VERSION 3.14)
project(Kmeans)

set(CMAKE_CXX_STANDARD 14)
set(PKG_CONFIG_EXECUTABLE "/usr/bin/pkg-config")
add_executable(Kmeans main.cpp)

find_package(PkgConfig)
pkg_check_modules(GTKMM gtkmm-3.0)

include_directories(${GTKMM_INCLUDE_DIRS})
link_directories(${GTKMM_LIBRARY_DIRS})

set(SOURCE_FILES main.cpp)
target_link_libraries(${CMAKE_PROJECT_NAME} ${GTKMM_LIBRARIES})
通常情况下,我会收到如下错误读数:

C:/Program Files/JetBrains/CLion上的CMake错误 2018.3.4/bin/cmake/win/share/cmake-3.14/Modules/FindPkgConfig.cmake:510(消息):

--找不到PkgConfig(缺少:PKG\u CONFIG\u可执行文件)找不到PKG配置工具

编辑以反映评论和持续努力:

我已经按照wiki页面的建议运行了pacman-S pkg config,我可以在我的C:\msys64\var\lib\pacman\local文件夹中看到一个pkg配置。在CLion中的工具链中,环境是MinGW,CMake被指定为自动检测编译器,它位于MinGW\mingw32\bin\g++.exe中


我还使用Cygwin终端确认了我的可执行文件在usr/bin/pkg config中,并在查看@Isuru Walpola提供的答案后,将set(pkg_config_executable)/usr/bin/pkg config)添加到了我的cmake文件中:

不幸的是,我仍然收到相同的错误消息

此外,我还尝试了完全重新安装CLion,并将我的环境切换到Cygwin,使用它的安装文件安装任何引用gtk3(及以下)的库/文档/开发工具。当我开始键入#include语句时,CLion也会预先填充该语句的名称,但是在编写完整的include语句后,就找不到它们了

我不再收到pkg-config-not-found错误,而是因为CLion无法找到这些特定的GTK库和头文件

我的CMakeLists.txt现在看起来如下所示。有一些重复和不可用的行,我已经包括测试,因为我不真正了解一些命令

cmake_minimum_required(VERSION 3.14)
project(ProjectKMeans)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

set(CMAKE_CXX_STANDARD 14)
set(PKG_CONFIG_PATH /usr/lib/pkgconfig)
set(PKG_CONFIG_EXECUTABLE /usr/bin/pkg-config.exe)
add_executable(ProjectKMeans main.cpp)

find_package(PkgConfig)

pkg_check_modules(GTKMM gtkmm-3.0)
pkg_check_modules(gtk gtkmm-3.0)
PKG_CHECK_MODULES(GTK GTK)
ADD_DEFINITIONS(${GTKMM_CFLAGS_OTHER})
include_directories(${GTKMM_INCLUDE_DIRS})
link_directories(${GTKMM_LIBRARY_DIRS})

set(SOURCE_FILES main.cpp)
target_link_libraries(${CMAKE_PROJECT_NAME} ${GTKMM_LIBRARIES})

我认为问题在于GTKMM没有被认可。我不明白这种命名惯例。据我所知,没有一个图书馆有这个名字。我缺少什么?

您提到的是关于MSYS/MinGW环境的。您是否已经按照wiki页面的建议运行了pacman-S pkg config?如果使用CLion配置项目,则需要选择适当的工具链。请显示配置日志的开头,其中列出了生成器和编译器。@Tsyvarev我已经运行了这个,我可以在我的C:\msys64\var\lib\pacman\local文件夹中看到一个pkg配置。在CLion中的工具链中,这里似乎只有MinGW可用。我不知道在哪里可以找到配置日志,但在这个工具链部分,CMake被指定自动检测编译器,它位于MINGW\mingw32\bin\g++。我还使用Cygwin终端确认了我的可执行文件位于usr/bin/pkg config中,并添加了set(pkg_config_executable)/usr/bin/pkg config)在阅读了@Isuru Walpola提供的答案后,我的cmake文件(尽管我承认我在这一点上是盲目尝试的):。不走运。你的评论提供了关于你问题的重要信息。请把你的问题贴出来,并把这些信息写进去。在堆栈溢出时,我们希望问题帖子包含有关问题的所有信息。相反,这些评论是暂时的,它们只是为了请求这些信息。好的,谢谢。我已将这些要点添加到我的帖子中。我误读了下面提供的评论礼仪说明