FLTK - 编译多个.cpp - Linux
FLTK - Compile Multiple .cpp's - Linux
为简单起见,我将问题简化为一个最小的工作示例。
我从一个非常简单的文件blah.cpp
开始。
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
int main(int argc, char **argv) {
Fl_Window* win = new Fl_Window(100,100,100,100,"Title");
win->show();
return Fl::run();
}
为了编译它,我在我的终端中(在文件blah.cpp
的目录中)输入
fltk-config --compile blah.cpp
效果很好。我只需输入./blah
,屏幕上就会显示100像素的窗口。但是,一旦我想扩展到多个文件—即blah.cpp
、head.h
和blah2.cpp
,我的问题就出现了。
/* head.h */
#ifndef HEAD
#define HEAD
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
class My_Window{
public:
My_Window(int,int);
bool open();
~My_Window(){
delete win;
}
private:
Fl_Window* win;
};
#endif
/* blah2.cpp */
#include "head.h"
My_Window::My_Window(int w, int h):{
win = new Fl_Window(w,h);
win->show();
}
bool My_Window::open(){
return Fl::run();
}
/* blah.cpp */
#include "head.h"
int main() {
Window win(300,300);
return win.open();
}
我的问题是,我如何用终端编译这个项目(blah.cpp和blah2.cpp) ?我最初的猜测是将所有内容放在同一个目录中,并执行类似
的操作。fltk-config --compile *.cpp
或
fltk-config --compile "*.cpp"
但是这两个都不行。我该如何编译它呢?
(解决方案)我刚打完就解决了这个问题。我就不提了,因为我已经在网上见过很多次了。
我去掉了fltk-config
命令,坚持使用常规的g++
:
g++ -std=c++11 blah.cpp blah2.cpp -o blah -lfltk
就这样起作用了!该程序的可执行文件随后被创建,标题为blah
!当然,-std=c++11
行只表示遵循c++11标准,所以对于我的例子来说,这并不是完全必要的。
fltk-config --compile <file.cc>
是一个方便的选项,当你有一个单文件项目。它编译并链接你的应用程序。
如果有多个文件,则使用main。Cc 和帐户。Cc 你最好的选择是先编译,然后把它们链接在一起。
类似(注意我也请求了图像库):
g++ `fltk-config --cxxflags` main.cc
g++ `fltk-config --cxxflags` account.cc
gcc -o myapp `fltk-config --use-images --ldflags` main.o account.o
相关文章:
- Linux的Cpp上的计时器
- 如何在CPP中创建应该在Windows和Linux上运行的套接字?
- 在Linux Mint 19下,从哪里提取wxWidgets的源代码(.cpp文件)用于步骤内部调试
- CPP-Netlib Hello World 示例不会在 Linux 上编译
- 将 PHP-CPP 库链接到 Visual Studio 2017 中的 Linux 项目
- Visual Studio 2017 Linux 远程构建 - 在每个构建中重新编译所有 cpp 文件
- CPP-将源代码从Windows转换为Linux
- 如何使用QT或Linux上的任何其他CPP框架播放WMA音频文件
- 编译共享库Linux GCC/G CPP
- 从基本C/CPP Linux应用程序中展示状态信息
- 如何在Linux / Windows操作系统上使用文件*.cpp一步编译下面的代码
- 关于 Linux .so 文件无法链接到主文件.cpp文件
- 尝试使用CPP程序将USB分区安装在Linux中
- 文件.cpp从Windows到Linux
- 在macOSX上编译boost_asio/example/ssl/server.cpp可以在Linux上工作
- 如果cpp-linux中的套接字fd超过1024,则recv失败
- cpp linux: about rdtsc
- 不间断地执行Cpp Linux代码
- 无法定位错误cpp linux
- FLTK - 编译多个.cpp - Linux