如何在g++中添加include文件的目录

如何在g++中添加include文件的目录,第1张

C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径。自己指定的路径就不说了,这里说明一下系统自动搜索的路径。

【1】include头文件路径

除了默认的/usr/include, /usr/local/include等include路径外,还可以通过设置环境变量来添加系统include的路径:

# C

export C_INCLUDE_PATH=XXXX:$C_INCLUDE_PATH

# CPP

export CPLUS_INCLUDE_PATH=XXX:$CPLUS_INCLUDE_PATH

以上修改可以直接命令行输入(一次性),可以在/etc/profile中完成(对所有用户生效),也可以在用户home目录下的.bashrc或.bash_profile中添加(针对某个用户生效),修改完后重新登录即生效。

【2】link链接库文件路径

链接库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的(也可以在编译命令中通过 -l -L 来指定,这里讲的是使用系统默认搜索路径)。

一般 Linux 系统把 /lib /usr/lib /usr/local/lib 作为默认的库搜索路径,所以使用这几个目录中的链接库文件可直接被搜索到(不需要专门指定链接库路径)。对于默认搜索路径之外的库,则需要将其所在路径添加到gcc/g++的搜索路径之中。

链接库文件的搜索路径指定有两种方式:1)修改/etc/so.ld.conf 2)修改环境变量,在其中添加自己的路径

windows有dll缓存。你可以在编译之后把输出的文件复制到另一个目录,然后在那里注册来绕过这个问题。

比如说有个叫

a.ocx

的控件,

它编译后位于

e:\a\debug\a.ocx,

我将它复制到

e:\testocx\a.ocx,

使用

regsvr32

e:\testocx\a.ocx

将它注册,

这个时候在vb中添加工具箱时选项中显示有一个

a

控件,

位于

e:\testocx\a.ocx

但只要我再次编译vc中的控件工程,

编译器又会重新将a控件注册至

e:\a\debug\a.ocx,

在vb中还是只有一个控件,但位置又变回

debug目录下的那个了.还需要再次使用

regsvr32

e:\testocx\a.ocx

来修改控件注册的位置至

testocx

目录下

 阅读前请确保你已经下载和安装了:

1、Eclipse

2、Eclipse-adt插件;Android-SDK

3、Android-NDK;cygwin

还需要进行一些准备工作:

1、下载和安装cdt插件。

可以在eclipse中使用Help->Install New Software直接 安装

插件比较大,可以只选择C/C++ Development Tools这一项安装。

2、下载和安装sequoyah插件。

注意:需要将Group Items By Category前的勾去掉,然后选择全部

现在可以进行配置了。(以下使用的android-ndk版本为r7b)

1、配置C语言的INCLUDE路径和LIB路径。

打开window菜单下的preference选项。选择C/C++,Build,environment,向其中添加:

C_INCLUDE_PATH=(Cygwin目录)\user\include(ndk目录)\platforms\(你使用的平台)\(CPU)\usr\include

CPLUS_INCLUDE_PATH=(Cygwin目录)\user\include(ndk目录)\platforms\(你使用的平台)\(CPU)\usr\include

LIBRARY_PATH=(Cygwin目录)\user\lib(ndk目录)\platforms\(你使用的平台)\(CPU)\usr\lib

2、配置Android NDK路径

注意:在sequoyah插件安装后才会有这一项。

打开window菜单下的preference选项。选择Android,Native Development(本地开发)

选择你的NDK安装目录。

但是,这个插件目前仅支持ndk的r4和r5版本,更高版本会提示这个路径无效。

其实,插件只是需要这个参数向PATH中添加这个路径,但是不设置这个路径会导致插件工作不正常。

我的解决方法是,手动创建以下文件:

(NDK目录)\toolchains\arm-eabi-4.4.0\prebuilt\windows\arm-eabi-4.4.0\bin\gcc.exe

从第二级目录开始可能就是不存在的,最后的gcc.exe可以是0字节。

这样插件就配置完成了。

3、注意:需要将cygwin的bin目录添加到windows 的PATH中

现在,差不多就可以正常使用了。

新建Android工程后,右键选择Android Tools-->Add Native Support...

插件会自动创建jni文件夹一个cpp文件和Android.mk文件。

写好你的代码后,就可以直接通过Run As-->Android Application运行了。

最后,你很可能遇到如下错误信息:

Error: Cannot run program "ndk-build": Launching failed解决方法是打开工程属性,选择C/C++ Build

设置Build command为 bash (ndk目录)\ndk-build

转载


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/11115903.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-13
下一篇2023-05-13

发表评论

登录后才能评论

评论列表(0条)

    保存