Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.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/0/windows/15.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
在windows上将不带pkg配置的gtkmm 3.0与CMake链接 我想用C++为Windows和Linux(GNOME)构建GTK+应用程序,但是我很难找到一种方法来在克利永上用Windows连接CMake上的GTKMM库。由于带有MSYS2的pgk配置无法工作,因此我试图找到一种不使用pkg配置链接它的方法_C++_Windows_Cmake_Clion_Gtkmm - Fatal编程技术网

在windows上将不带pkg配置的gtkmm 3.0与CMake链接 我想用C++为Windows和Linux(GNOME)构建GTK+应用程序,但是我很难找到一种方法来在克利永上用Windows连接CMake上的GTKMM库。由于带有MSYS2的pgk配置无法工作,因此我试图找到一种不使用pkg配置链接它的方法

在windows上将不带pkg配置的gtkmm 3.0与CMake链接 我想用C++为Windows和Linux(GNOME)构建GTK+应用程序,但是我很难找到一种方法来在克利永上用Windows连接CMake上的GTKMM库。由于带有MSYS2的pgk配置无法工作,因此我试图找到一种不使用pkg配置链接它的方法,c++,windows,cmake,clion,gtkmm,C++,Windows,Cmake,Clion,Gtkmm,我安装了MSYS2,并安装了GTK+和pacman,正如他们网站上提到的那样。我还用pacman安装了gcc、pkg config、gtkmm。(Windows 10上的所有内容) “CMakeLists.txt:9(pkg_check_modules)”失败并抛出“未找到所需的包” 您对如何设置CMake有何建议,以便在Windows和Linux(Gnome)上正确构建应用程序所包含的二进制文件。我还没有在Linux上尝试过它,但我认为它不会像在windows上那样痛苦。对于pkg confi

我安装了MSYS2,并安装了GTK+和pacman,正如他们网站上提到的那样。我还用pacman安装了gcc、pkg config、gtkmm。(Windows 10上的所有内容)

“CMakeLists.txt:9(pkg_check_modules)”失败并抛出“未找到所需的包”


您对如何设置CMake有何建议,以便在Windows和Linux(Gnome)上正确构建应用程序所包含的二进制文件。我还没有在Linux上尝试过它,但我认为它不会像在windows上那样痛苦。

对于
pkg config
能够工作,它需要一个
.pc
文件来描述一个包。您有gtkmm套装的吗?如果有,它在哪里,确切的名字是什么?我不确定我是否有它。我使用MSYS2
pacman-S mingw-w64-x86_64-pkg-config安装了
pkg-config
。它位于C:\msys64\。我还使用MSYS安装了gtkmm。我不知道MSYS是如何工作的,所以希望它能帮我。你说“因为MSYS2的pgk配置不起作用”,所以MSYS2不太可能为你提供
.pc
文件
gtkmm
。没有该文件,
pkg config
无法找到该包。为了明确起见:该文件没有随
pkg config
实用程序提供,它只能随
gtkmm
包本身提供。好的,我理解。我在哪里可以获得pc文件?我必须让pkg config在MSYS中找到thr lib吗?还是自己构建gtkmm并以某种方式静态链接它更好?我不是Windows和MSYS的专家,我不知道如何获取该文件。但是如果没有它,
pkg-config
就找不到gtkmm,我敢肯定。要使
pkg-config
能够工作,它需要一个描述包的
.pc
文件。您有gtkmm套装的吗?如果有,它在哪里,确切的名字是什么?我不确定我是否有它。我使用MSYS2
pacman-S mingw-w64-x86_64-pkg-config安装了
pkg-config
。它位于C:\msys64\。我还使用MSYS安装了gtkmm。我不知道MSYS是如何工作的,所以希望它能帮我。你说“因为MSYS2的pgk配置不起作用”,所以MSYS2不太可能为你提供
.pc
文件
gtkmm
。没有该文件,
pkg config
无法找到该包。为了明确起见:该文件没有随
pkg config
实用程序提供,它只能随
gtkmm
包本身提供。好的,我理解。我在哪里可以获得pc文件?我必须让pkg config在MSYS中找到thr lib吗?还是自己构建gtkmm并以某种方式静态链接它更好?我不是Windows和MSYS的专家,我不知道如何获取该文件。但是没有它,
pkg-config
就找不到gtkmm,我敢肯定。
project(GTKTest)

set(PKG_CONFIG_EXECUTABLE "C:\\msys64\\mingw64\\share\\pkgconfig")

set(CMAKE_CXX_STANDARD 17)

find_package(PkgConfig)
pkg_check_modules(GTKMM REQUIRED gtkmm-3.0)

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

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