如何在makefile中使用wx-config信息来设置编译器/链接器变量?

时间:2013-11-14 13:00:44

标签: makefile wxwidgets libs

我有一个基于wxwidgets的应用程序,使用boost和pcre lib。 在makefile中,我通常使用CXXFLAGS变量等来放置编译器和链接器路径。

我写了这个:

CXXFLAGS := -I. -I/path/boost/prod -I/path/pcre/include $(shell path/wxWidgets/bin/wx-config  --unicode=yes --static=yes --cxxflags) -DPCRE_STATIC -O3

CPPFLAGS := -I. -I/path/boost/prod -I/path/pcre/include $(shell path/wxWidgets/bin/wx-config --unicode=yes --static=yes --cppflags) -DPCRE_STATIC -O3

LDFLAGS := -L. -L/path/pcre/lib -L/path/wxWidgets/lib $(shell $path/wxWidgets/bin/wx-config --unicode=yes --static=yes --optional-libs html,aui,stc,xml,adv,core,base) -lpcre -O3
    EXEC_POST

从我现在开始,wx-config告诉我需要哪些库。

当我尝试链接我编译的文件时,链接器发出错误,因为没有找到例如库“gio-2.0”,这是wx-config所述的库之一。我现在可以手动安装所有那些未找到的库并且它可以工作,但通常所有这些要求的库应该是wxwidgets的一部分......我想我搞砸了上面写的makefile配置中的部分。你觉得怎么样?

1 个答案:

答案 0 :(得分:1)

您应该使用--libs代替--optional-libs

此外,您不需要明确的-L/path/wxWidgets/lib,这已由wx-config输出。