Pkg config 为什么';包装配置是否支持CXXFLAGS?
我注意到pkg config只提供了Pkg config 为什么';包装配置是否支持CXXFLAGS?,pkg-config,Pkg Config,我注意到pkg config只提供了CFLAGS和LIBS(又称LDFLAGS) 为什么不支持pkg config来提供cxflags?是的,问题是一年多以前的事了 IMHO-这应该是固定的,但这将需要很长时间。同时,你会遇到相互冲突的旗帜。我能想到的冲突标志的最好例子是“-std=??”选项,它在使用错误时会导致警告 步骤1-将“--std=c99”和“--std=c++11”放在PC文件中。 步骤2-要求用户在其Makefile中执行以下操作 PKG_CFLAGS := $(shell pk
CFLAGS
和LIBS
(又称LDFLAGS
)
为什么不支持pkg config来提供
cxflags
?是的,问题是一年多以前的事了
IMHO-这应该是固定的,但这将需要很长时间。同时,你会遇到相互冲突的旗帜。我能想到的冲突标志的最好例子是“-std=??”选项,它在使用错误时会导致警告
步骤1-将“--std=c99”和“--std=c++11”放在PC文件中。
步骤2-要求用户在其Makefile中执行以下操作
PKG_CFLAGS := $(shell pkg-config --cflags FILENAME.pc)
CFLAGS := $(filter-out --std=c99, ${PKG_CFLAGS})
CXXFLAGS := $(filter-out --std-c++11,${PKG_CFLAGS})
问题:这对自动配置和基于Cmake的东西不起作用:-(是的,问题是一年多以前的事了 IMHO-这应该是固定的,但需要很长时间。同时,您会遇到冲突的标志。我能想到的冲突标志的最佳示例是“-std=??”选项,它在使用错误时会导致警告 步骤1-将“--std=c99”和“--std=c++11”放在PC文件中。 步骤2-要求用户在其Makefile中执行以下操作
PKG_CFLAGS := $(shell pkg-config --cflags FILENAME.pc)
CFLAGS := $(filter-out --std=c99, ${PKG_CFLAGS})
CXXFLAGS := $(filter-out --std-c++11,${PKG_CFLAGS})
问题:这与autoconfig和基于Cmake的内容不兼容:-(我不喜欢pkg配置需要用户进行如此艰苦的工作。更简单的解决方法是要求用户使用特定的标准,而不要将其写入pkg配置中。但是,最好的解决方案当然是pkg配置中存在Cxxflags。此外,我反对将
-std=c99
写入.pc文件bec中因为另一个库可能会请求-std=gnu17
,然后您就有问题了。最好在文档中请求一组标准,让用户选择正确的标准。我不喜欢这样的想法,即pkg配置需要用户进行如此艰苦的工作。一个更简单的解决方法是要求用户使用特定的标准,而不是编写但是,最好的解决方案当然是pkg配置中存在Cxxflags。此外,我反对在.pc文件中编写-std=c99
,因为另一个库可能会请求-std=gnu17
,然后您就有问题了。最好在文档中要求一组标准,然后让用户选择正确的一个。