Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
结合fltk和C++;文件夹 我尝试用FLTK库制作一个C++程序。单独编译文件。但是-我不知道如何将它们合并到一个工作文件中。我认为这可能与makefile有关: COMP=g++ COMP_FLAGS=$(-Wall -g -std=c++11) FL_COMP_FLAGS=$(shell fltk-config --cxxflags) FL_LINK_FLAGS=$( fltk-config --ldflags) program: main.o GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o $(COMP) $(COMP_FLAGS) GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o -o program main.o: main.cc GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o $(COMP) $(COMP_FLAGS) $(FL_LING_FLAGS) main.cc GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o -o main.o GraphicsLib.o: GraphicsLib.cc GraphicsLib.h $(COMP) $(COMP_FLAGS) $(FL_COMP_FLAGS) -c GraphicsLib.cc ChaosSpaceMarine.o: ChaosSpaceMarine.cc ChaosSpaceMarine.h Marine.o $(COMP) $(COMP_FLAGS) ChaosSpaceMarine.cc Marine.o -o ChaosSpaceMarine.o SpaceMarine.o: SpaceMarine.cc SpaceMarine.h Marine.o $(COMP) $(COMP_FLAGS) SpaceMarine.cc Marine.o -o SpaceMarine.o Tau.o: Tau.cc Tau.h Marine.cc $(COMP) $(COMP_FLAGS) Tau.cc Marine.o -o Tau.o Marine.o: Statystyki.o Bron.o Pancerz.o $(COMP) $(COMP_FLAGS) Marine.cc Bron.o Pancerz.o Statystyki.o -o Marine.o Statystyki.o: Statystyki.cc Statystyki.h $(COMP) $(COMP_FLAGS) -c Statystyki.cc -o Statystyki.o Pancerz.o: Pancerz.cc Pancerz.h Item.o $(COMP) $(COMP_FLAGS) -c Pancerz.cc -o Pancerz.o Bron.o: Bron.cc Bron.h Item.o $(COMP) $(COMP_FLAGS) -c Bron.cc -o Bron.o Item.o: Item.cc Item.h $(COMP) $(COMP_FLAGS) -c Item.cc -o Item.o clean: rm -rf Item.o Bron.o Pancerz.o Statystyki.o Marine.o Tau.o SpaceMarine.o ChaosSpaceMarine.o GraphicsLib.o_C++_Makefile_Fltk - Fatal编程技术网

结合fltk和C++;文件夹 我尝试用FLTK库制作一个C++程序。单独编译文件。但是-我不知道如何将它们合并到一个工作文件中。我认为这可能与makefile有关: COMP=g++ COMP_FLAGS=$(-Wall -g -std=c++11) FL_COMP_FLAGS=$(shell fltk-config --cxxflags) FL_LINK_FLAGS=$( fltk-config --ldflags) program: main.o GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o $(COMP) $(COMP_FLAGS) GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o -o program main.o: main.cc GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o $(COMP) $(COMP_FLAGS) $(FL_LING_FLAGS) main.cc GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o -o main.o GraphicsLib.o: GraphicsLib.cc GraphicsLib.h $(COMP) $(COMP_FLAGS) $(FL_COMP_FLAGS) -c GraphicsLib.cc ChaosSpaceMarine.o: ChaosSpaceMarine.cc ChaosSpaceMarine.h Marine.o $(COMP) $(COMP_FLAGS) ChaosSpaceMarine.cc Marine.o -o ChaosSpaceMarine.o SpaceMarine.o: SpaceMarine.cc SpaceMarine.h Marine.o $(COMP) $(COMP_FLAGS) SpaceMarine.cc Marine.o -o SpaceMarine.o Tau.o: Tau.cc Tau.h Marine.cc $(COMP) $(COMP_FLAGS) Tau.cc Marine.o -o Tau.o Marine.o: Statystyki.o Bron.o Pancerz.o $(COMP) $(COMP_FLAGS) Marine.cc Bron.o Pancerz.o Statystyki.o -o Marine.o Statystyki.o: Statystyki.cc Statystyki.h $(COMP) $(COMP_FLAGS) -c Statystyki.cc -o Statystyki.o Pancerz.o: Pancerz.cc Pancerz.h Item.o $(COMP) $(COMP_FLAGS) -c Pancerz.cc -o Pancerz.o Bron.o: Bron.cc Bron.h Item.o $(COMP) $(COMP_FLAGS) -c Bron.cc -o Bron.o Item.o: Item.cc Item.h $(COMP) $(COMP_FLAGS) -c Item.cc -o Item.o clean: rm -rf Item.o Bron.o Pancerz.o Statystyki.o Marine.o Tau.o SpaceMarine.o ChaosSpaceMarine.o GraphicsLib.o

结合fltk和C++;文件夹 我尝试用FLTK库制作一个C++程序。单独编译文件。但是-我不知道如何将它们合并到一个工作文件中。我认为这可能与makefile有关: COMP=g++ COMP_FLAGS=$(-Wall -g -std=c++11) FL_COMP_FLAGS=$(shell fltk-config --cxxflags) FL_LINK_FLAGS=$( fltk-config --ldflags) program: main.o GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o $(COMP) $(COMP_FLAGS) GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o -o program main.o: main.cc GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o $(COMP) $(COMP_FLAGS) $(FL_LING_FLAGS) main.cc GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o -o main.o GraphicsLib.o: GraphicsLib.cc GraphicsLib.h $(COMP) $(COMP_FLAGS) $(FL_COMP_FLAGS) -c GraphicsLib.cc ChaosSpaceMarine.o: ChaosSpaceMarine.cc ChaosSpaceMarine.h Marine.o $(COMP) $(COMP_FLAGS) ChaosSpaceMarine.cc Marine.o -o ChaosSpaceMarine.o SpaceMarine.o: SpaceMarine.cc SpaceMarine.h Marine.o $(COMP) $(COMP_FLAGS) SpaceMarine.cc Marine.o -o SpaceMarine.o Tau.o: Tau.cc Tau.h Marine.cc $(COMP) $(COMP_FLAGS) Tau.cc Marine.o -o Tau.o Marine.o: Statystyki.o Bron.o Pancerz.o $(COMP) $(COMP_FLAGS) Marine.cc Bron.o Pancerz.o Statystyki.o -o Marine.o Statystyki.o: Statystyki.cc Statystyki.h $(COMP) $(COMP_FLAGS) -c Statystyki.cc -o Statystyki.o Pancerz.o: Pancerz.cc Pancerz.h Item.o $(COMP) $(COMP_FLAGS) -c Pancerz.cc -o Pancerz.o Bron.o: Bron.cc Bron.h Item.o $(COMP) $(COMP_FLAGS) -c Bron.cc -o Bron.o Item.o: Item.cc Item.h $(COMP) $(COMP_FLAGS) -c Item.cc -o Item.o clean: rm -rf Item.o Bron.o Pancerz.o Statystyki.o Marine.o Tau.o SpaceMarine.o ChaosSpaceMarine.o GraphicsLib.o,c++,makefile,fltk,C++,Makefile,Fltk,因此: o是Bron(武器)和Pancerz(装甲)的基类。和Statystyki(统计学)一起,是海洋类的一部分,这是特定ChaosSpaceMarine、SpaceMarine和Tau的基础。 GraphicsLib包含多个FL/FL_。。。。标题,这样我可以制作自己的图形对象 欢迎提出任何问题和建议 编辑: 感谢Lmis和我的朋友,我更正了我的makefile,如果有人有类似的问题,我会把它放在上面 所以现在我只有一个奇怪的错误: g++ -I/usr/local/include -I/

因此: o是Bron(武器)和Pancerz(装甲)的基类。和Statystyki(统计学)一起,是海洋类的一部分,这是特定ChaosSpaceMarine、SpaceMarine和Tau的基础。 GraphicsLib包含多个FL/FL_。。。。标题,这样我可以制作自己的图形对象

欢迎提出任何问题和建议

编辑:

感谢Lmis和我的朋友,我更正了我的makefile,如果有人有类似的问题,我会把它放在上面

所以现在我只有一个奇怪的错误:

g++  -I/usr/local/include -I/usr/local/include/FL/images -c GraphicsLib.cc
g++  -c Statystyki.cc -o Statystyki.o
g++  -c Item.cc -o Item.o
g++  -c Bron.cc -o Bron.o
g++  -c Pancerz.cc -o Pancerz.o
g++  Marine.cc Bron.o Pancerz.o Statystyki.o -o Marine.o
/usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
make: *** [Marine.o] Error 1
我知道它说对main有未定义的引用,但在这个文件中没有这样的引用,所以有什么问题吗?

一个问题是:

$(COMP) $(COMP_FLAGS) -o main.o GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o
应该是

$(COMP) $(COMP_FLAGS) -o NameOfYourProgram main.o GraphicsLib.o ChaosSpaceMarine.o SpaceMarine.o Tau.o
-o
标志告诉编译器要为它生成的文件命名。您在Makefile中所说的是希望编译器使用对象
GraphicsLib.o
编译名为
main.o
的程序

既然你说

单独编译文件

我假设所有
.o
-文件都编译得很好,那么这个答案应该可以解决您的问题