小部件 ||创建生成文件
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 --cxxflags
和 wx-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 可以通过其他几种方式进行改进,但这至少应该有效。
我正在尝试使用 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 --cxxflags
和 wx-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 可以通过其他几种方式进行改进,但这至少应该有效。