快速配置Linux + Eclipse + wxWidgets开发环境

简介:
wxWidgets是一个跨平台的C++开发库,与MFC类似。不过配置起来比较麻烦,如果在Linux下使用Eclipse来开发基于wxWidgets的应用程序需要进行一系列的配置,如设置include路径、library路径等。但我们可以使用一个简单的方法来快速配置wxWidgets。
    在wxWidgets发行发中有很多例子,随便编译一个例子(执行make命令),就会在终端中看到生成.o和可执行文件的完整命令。如果要编译自己写的程序,只需要将.cpp、.o文件换成自己的即可。按着这个方法,可以找到Eclipse C++工程属性对话框,选择C/C++ Build -> Settings -->Tool Settings -> GCC C++ Compiler,实际上,可以Directories中设置目录,以及设置Miscellaneous中的相应项进行设置来配置wxWidgets,但这比较麻烦,干脆将编译wxWidgets例子输出的编译命令复制到Command line pattern中,如生成目标文件(.o)的编译命令如下:

g++ -c -o  ${OUTPUT}  -D__WXGTK__     -I. -DWXUSINGDLL -I/library/wxGTK-2.8.9/wxGTK-2.8.9/samples -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -I/library/wxGTK-2.8.9/wxGTK-2.8.9/lib/wx/include/gtk2-ansi-release-2.8 -I/library/wxGTK-2.8.9/wxGTK-2.8.9/include -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DWX_PRECOMP -pthread -Wall -Wundef -Wno-ctor-dtor-privacy -O2 -fno-strict-aliasing -I/usr/include/libgnomeprintui-2.2 -I/usr/include/libgnomeprint-2.2 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/libart-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/pango-1.0 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo  ${INPUTS}
  
    其中${OUTPUT}和${INPUTS}是Eclipse的变量,其中${OUTPUT}表示要输出的文件,在这里是.o文件,${INPUTS}表示源代码文件,一般为.cpp。 将上面的内容复制到Command line pattern文件框中(替换原来的内容),如下图所示。



    下面是生成可执行文件的命令:

g++ -o  ${OUTPUT} ${INPUTS}   -pthread     -L/library/wxGTK-2.8.9/wxGTK-2.8.9/lib  -Wl,-rpath,/library/wxGTK-2.8.9/wxGTK-2.8.9/lib  -lz -ldl -lm -lwx_gtk2_adv-2.8  -lwx_gtk2_html-2.8  -lwx_base_xml-2.8 -lexpat -lwx_gtk2_core-2.8  -lwx_base-2.8   -lwxtiff-2.8   -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lrt -lglib-2.0 -lXinerama -lSM -lpng -lz -ljpeg     -pthread  -Wl,--version-script,/library/wxGTK-2.8.9/wxGTK-2.8.9/version-script -lz -ldl -lm

    其中${OUTPUT}表示要生成的可执行文件,${INPUTS}表示目标文件(*.o)。

    选中GCC C++ Linker,仍然覆盖Command line pattern文本框中的内容。

    当Eclipse运行程序时,会多次调用g++命令来编译.cpp文件,而linker只调用一次。

    本文所使用的Linux版本是Fedora 8(狼人),读者可用如下命令查看自己的Linux版本:

    lsb_release -a

    运行上面的命令后,会输出类似于下面的信息:

LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: Fedora
Description:    Fedora release 8 (Werewolf)
Release:        8

Codename:       Werewolf







 本文转自 androidguy 51CTO博客,原文链接:http://blog.51cto.com/androidguy/215225,如需转载请自行联系原作者


相关文章
|
15天前
|
安全 Ubuntu Java
Linux配置使用篇
Linux配置使用篇
|
27天前
|
存储 负载均衡 索引
linux7安装elasticsearch-7.4.0集群配置
linux7安装elasticsearch-7.4.0集群配置
113 0
|
1月前
|
监控 Linux Shell
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
【Shell 命令集合 网络通讯 】Linux 配置和管理网络流量的形状 shapecfg命令 使用指南
38 0
|
1月前
|
网络协议 Shell Linux
【Shell 命令集合 网络通讯 】Linux 设置和配置PPP pppsetup命令 使用教程
【Shell 命令集合 网络通讯 】Linux 设置和配置PPP pppsetup命令 使用教程
39 0
|
1月前
|
缓存 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
【Shell 命令集合 网络通讯 】Linux 配置DNS dnsconf 命令 使用教程
38 0
|
1月前
|
网络协议 Ubuntu Linux
Linux 动态/静态配置ip网卡信息
Linux 动态/静态配置ip网卡信息
36 0
|
1月前
|
域名解析 网络协议 Linux
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
【Shell 命令集合 网络通讯 】Linux 设置和管理网络接口配置信息 netconfig命令 使用指南
53 1
|
1月前
|
存储 Shell Linux
【Shell 命令集合 系统管理 】Linux 修改用户的属性和配置 usermod命令 使用指南
【Shell 命令集合 系统管理 】Linux 修改用户的属性和配置 usermod命令 使用指南
30 1
|
14天前
|
网络协议 Linux
在Linux中,管理和配置网络接口
在Linux中管理网络接口涉及多个命令,如`ifconfig`(在新版本中被`ip`取代)、`ip`(用于网络设备配置)、`nmcli`(NetworkManager的CLI工具)、`nmtui`(文本界面配置)、`route/ip route`(处理路由表)、`netstat/ss`(显示网络状态)和`hostnamectl/systemctl`(主机名和服务管理)。这些命令帮助用户启动接口、设置IP地址、查看连接和路由信息。不同发行版可能有差异,建议参考相应文档。
19 4
|
1天前
|
Ubuntu 网络协议 Linux
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
Linux(20) Ubuntu 20.04 网络接口自动切换路由配置
11 0