标签: pkg-config

如何在Windows上为pkg-config写*.pc文件?

我最近下载了从GTK +网站下载的gtk + all-in-one软件包,工作正常,允许我使用MinGW编译器在Windows上构建gtk +应用程序.

但是,现在在lib/pkgconfig中查看pkg-config的*.pc文件时,我注意到了一些奇怪的东西.以下是glib-2.0的开头如何:

prefix=c:/devel/target/059c48de6b739307c37648aba3005b29
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Run Code Online (Sandbox Code Playgroud)

我的gtk +文件夹驻留在与C:\不同的驱动器上,我根本没有C:\ devel文件夹.那么这个前缀代表什么呢?如果我决定编写*.pc文件以便轻松链接我自己的应用程序,我会使用什么前缀?

令人惊讶的是,使用 pkg-config按预期工作并返回gtk +文件夹中的库和标头的正确路径.

windows gtk mingw pkg-config

6
推荐指数
1
解决办法
1472
查看次数

pkg-config找不到opencv

我在lubuntu 12.10发行版上安装了opencv.然后,当我尝试编译使用opencv的代码时,它说它无法找到它.所以我在终端尝试:

pkg-config --cflags --libs opencv
Run Code Online (Sandbox Code Playgroud)

它回答我,它找不到opencv.但文件安装在/ usr/lib中.我不明白为什么找不到它们.

c++ opencv pkg-config

6
推荐指数
2
解决办法
2万
查看次数

在Windows中使用pkg-config查找库

我是,试图使用pkg-config在windows(msvc)中找到gstreamer lib

pkg-config gstreamer-0.10 --cflags --libs

但我得到这样的结果

Package gstreamer-0.10 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gstreamer-0.10.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gstreamer-0.10' found
Run Code Online (Sandbox Code Playgroud)

一个.pc like是在安装库时创建的(通过使用RPM,deb或其他二进制打包系统或从源代码编译自动生成).我在gstreamer目录中找不到.pc文件.

我应该只创建一个包含所有必要细节的.pc文件.

prefix=C:\Program Files (x86)\OSSBuild\GStreamer\v0.10.7
exec_prefix=${prefix}
libdir=${exec_prefix}\lib
includedir=${prefix}\sdk\include\gstreamer-0.10
toolsdir=${exec_prefix}\bin
pluginsdir=${exec_prefix}\lib\gstreamer-0.10
datarootdir=${prefix}\share
datadir=${datarootdir}
girdir=${datadir}/gir-1.0
typelibdir=${libdir}/girepository-1.0

Name: GStreamer
Description: Streaming media framework
Requires: glib-2.0, gobject-2.0, gmodule-no-export-2.0, gthread-2.0, libxml-2.0
Version: 0.10.35
Libs: -L${libdir} -lgstreamer-0.10
Cflags: -I${includedir}
Run Code Online (Sandbox Code Playgroud)

或者还有其他方法可以做到这一点,还是我错过了什么?

希望你能帮忙.谢谢你花时间阅读问题.

好吧,我这样做是为了找到解决方案为什么我not found在我的waf配置为gstreamer 获取消息

conf.check_cfg(atleast_pkgconfig_version='0.0.0') 
conf.check_cfg(package='gstreamer-0.10', uselib_store='GSTREAMER', args='--cflags --libs', …
Run Code Online (Sandbox Code Playgroud)

windows pkg-config waf

5
推荐指数
1
解决办法
4508
查看次数

Pkgconfig 找不到包

我在 cmake 中使用 pkgconfig 链接到外部库。即使存在一个 external_package.pc 文件(显然具有正确的信息),cmake 也会向我抛出一个错误。

CMakeLists 文件看起来像这样:

project(juicer)
set(VERSION 1.0)
# Find packages
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
find_package(Tracter REQUIRED)
Run Code Online (Sandbox Code Playgroud)

FindTracer 文件如下所示:

find_package(PkgConfig)
pkg_check_modules(TRACTER REQUIRED tracter)
Run Code Online (Sandbox Code Playgroud)

错误:

-- checking for module 'tracter'
--   package 'tracter' not found
CMake Error at /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:279 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-2.8/Modules/FindPkgConfig.cmake:333 (_pkg_check_modules_internal)
  cmake/FindTracter.cmake:10 (pkg_check_modules)
  CMakeLists.txt:22 (find_package)
Run Code Online (Sandbox Code Playgroud)

我是 CMake 的新手,非常感谢您的帮助。谢谢阿克沙特

pkg-config cmake

5
推荐指数
0
解决办法
3999
查看次数

在centos的pkg-config搜索路径中找不到包opencv

当我执行以下命令时:

 pkg-config --cflags opencv
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:

Package opencv was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv.pc'
to the PKG_CONFIG_PATH environment variable
No package 'opencv' found
Run Code Online (Sandbox Code Playgroud)

我在Cent OS 6上,已经找到了Internet上针对Linux Ubuntu的解决方案,并且在堆栈中,但没有针对Cent OS

我尝试在OpenCV规范下

PKG_CONFIG_PATH=/usr/share/opencv/lib/pkgconfig:${PKG_CONFIG_PATH}
export PKG_CONFIG_PATH
Run Code Online (Sandbox Code Playgroud)

仍然不起作用。我如何确定OpenCV也安装在该目录中,我使用了whereis opencv并触发了我/usr/share/

opencv centos pkg-config

5
推荐指数
1
解决办法
6422
查看次数

使用CMake和PkgConfig链接库

我正在尝试将静态库(GLFW)链接到我正在构建的库中.我在我的CMakeLists.txt文件中有以下内容,以便执行此操作:

pkg_search_module(GLFW REQUIRED glfw3)
include_directories(${GLFW_INCLUDE_DIRS})
target_link_libraries(${LIBRARY_NAME} ${GLFW_STATIC_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)

链接我的库时,我收到以下错误: ld: library not found for -lglfw3

然而,pkg-config --libs glfw3在控制台中运行会给出:

-L/usr/local/lib -lglfw3 
Run Code Online (Sandbox Code Playgroud)

所以我知道安装了GLFW库.当我尝试使用CMake进行链接时,为什么找不到库?

pkg-config cmake glfw

5
推荐指数
1
解决办法
1765
查看次数

Mac Qt5.7 pkg-config文件在哪里?

我试图在Qt5.7上构建gst-plugins-bad时遇到此错误:

Package Qt5Core was not found in the pkg-config search path.
Perhaps you should add the directory containing `Qt5Core.pc'
to the PKG_CONFIG_PATH environment variable
Run Code Online (Sandbox Code Playgroud)

在Qt 5.5中,曾经存在一个~/Qt/5.5/clang_64/lib/pkgconfig/Qt5Core.pc文件.但是,Qt5.7安装我只有一个Qt5OpenGLExtensions.pcQt5UiTools.pc内部~/Qt/5.7/clang_64/lib/pkgconfig.所有的pkg-configs都去了哪里?

qt pkg-config gstreamer

5
推荐指数
0
解决办法
243
查看次数

无法使用python 3.6 virtualenv从pip安装软件包

我为python 3.6创建了虚拟环境,并尝试安装crc16软件包。我收到此错误:

/usr/bin/ld: cannot find -lpython3.6m
Run Code Online (Sandbox Code Playgroud)

我尝试使用修复它

export PKG_CONFIG_PATH=/path/to/python3.6/binaries/usr/local/lib/pkgconfig
Run Code Online (Sandbox Code Playgroud)

我用

$ pkg-config --libs python3
-L/usr/local/lib -lpython3.6m
Run Code Online (Sandbox Code Playgroud)

但不幸的是,它仍然无法正常工作。

使用以下命令将Python 3.6安装在自定义前缀中 make install DESTDIR=/path/to/destdir

python pip pkg-config python-3.x

5
推荐指数
0
解决办法
475
查看次数

如何使用pkg-config设置创建自己的cmake目标?

我的项目是shared库,我想使用的设置创建安装目标pkg-config

目前,它仅根据一个非常简单的规则进行构建:

add_library(mylib SHARED src/mylib.cxx)

在这里,我将继续进行配置,因为每个安装规则都应取决于预配置的安装路径和标志。为了简单起见,假设目标将安装到include and lib目录中,并且预先配置的.pc规则类似于-lmylib -I/...include -L/....lib

如何为cmake的installation目标配置pkg-config支持?我想它没有内置的支持,pkg-config我需要您的帮助才能找到合适的解决方案。

pkg-config cmake

5
推荐指数
1
解决办法
1365
查看次数

Windows编译v8时出现pkg-config错误

我正在尝试在Windows上构建ry / v8worker2。一切正常,直到我运行为止go test,然后抱怨pkg-config设置。

这是生成的pkg-config文件:

Name: v8
Description: v8
Version: xxx
Cflags: -IC:\Users\andyrea\go\src\github.com\reaandrew\v8worker2\v8\include
Libs: out/v8build/obj/v8_monolith.lib
Run Code Online (Sandbox Code Playgroud)

go test是执行时的输出:

go build github.com/reaandrew/v8worker2: invalid flag in pkg-config --libs: out/v8build/obj/v8_monolith.lib
FAIL    github.com/reaandrew/v8worker2 [build failed]
Run Code Online (Sandbox Code Playgroud)

就像我说的那样,整个编译过程都很好,并且创建了文件,但是最后有些不正确。我尝试对build.py进行的唯一修改,使其在Windows上可以正常运行,如下所示:

diff --git a/build.py b/build.py
index 2cb5e6a..6f482c8 100755
--- a/build.py
+++ b/build.py
@@ -82,7 +82,7 @@ GCLIENT_SOLUTION = [
 ]

 def main():
-  lib_fn = os.path.join(prebuilt_path, platform_name(), "libv8_monolith.a")
+  lib_fn = os.path.join(root_path.replace("\\","/"),"/out/v8build/obj/v8_monolith.lib")
   if args.rebuild or not os.path.exists(lib_fn):
     print("Rebuilding V8")
     lib_fn = Rebuild()
@@ -99,9 +99,9 @@ …
Run Code Online (Sandbox Code Playgroud)

c v8 pkg-config go cgo

5
推荐指数
1
解决办法
179
查看次数

标签 统计

pkg-config ×10

cmake ×3

opencv ×2

windows ×2

c ×1

c++ ×1

centos ×1

cgo ×1

glfw ×1

go ×1

gstreamer ×1

gtk ×1

mingw ×1

pip ×1

python ×1

python-3.x ×1

qt ×1

v8 ×1

waf ×1