小部件 ||创建生成文件

WxWidgets || Creating makefile

我正在尝试使用 makefile 编译我的程序。

我的代码:

zad2_1Main: zad2_1Main.o zad2_1App.o
    g++ -o zad2_1Main zad2_1Main.o zad2_1App.o wx-config.exe --cxxflags

zad2_1Main.o: zad2_1Main.cpp
    g++ -c zad2_1Main.cpp wx-config.exe wx-config.exe --cxxflags

zad2_1App.o: zad2_1App.cpp
    g++ -c zad2_1App.cpp wx-config.exe wx-config.exe --cxxflags

但是我有错误:

unrecognized command line option '--cxxflags'

wx-config.exe 与文件在同一个文件夹中

我的文件:

Zad2_1App.cpp
Zad2_1App.h
Zad2_1Main.cpp
Zad2_1Main.h

@Tacoo.

您应该在 wx-config --cxxflagswx-config --libs 周围使用反引号。

类似

g++ -o zad2_1Main zad2_1Main.o zad2_1App.o `wx-config.exe --cxxflags`

您想将 wx-config 输出 传递给编译器,而不是文字字符串本身。此外,对每个源文件一次又一次地 运行 shell 脚本是非常浪费的。因此,您应该执行以下操作:

WX_CXXFLAGS := $(shell wx-config --cxxflags)
WX_LIBS := $(shell wx-config --libs)

zad2_1Main: zad2_1Main.o zad2_1App.o
    g++ -o zad2_1Main zad2_1Main.o zad2_1App.o $(WX_LIBS)

zad2_1Main.o: zad2_1Main.cpp
    g++ -c zad2_1Main.cpp $(WX_CXXFLAGS)

zad2_1App.o: zad2_1App.cpp
    g++ -c zad2_1App.cpp $(WX_CXXFLAGS)

您的 makefile 可以通过其他几种方式进行改进,但这至少应该有效。