1. 使用#include语句:在程序中使用#include语句,将外部依赖项的头文件引入到程序中,以便编译器能够正确识别程序中使用的函数、变量等等。
2. 使用编译器命令行参数:在编译器命令行参数中添加头文件路径,以便编译器能够正确识别程序中使用的函数、变量等等。
3. 使用编译器配置文件:在编译器配置文件中添加头文件路径,以便编译器能够正确识别程序中使用的函数、变量等等。
4. 使用makefile:在makefile中添加头文件路径,以便编译器能够正确识别程序中使用的函数、变量等等。
总之,添加头文件的方法有很多种,可以根据实际需要选择合适的方法来添加头文件。
VS中添加LIb库及头文件(外部依赖项)的步骤:
1、添加工程的头文件目录:工程---属性---配置属性---c/c++---常规---附加包含目录:加上头文件存放目录。
2、添加文件引用的lib静态库路径:工程---属性---配置属性---链接器---常规---附加库目录:加上lib文件存放目录。
然后添加工程引用的lib文件名:工程---属性---配置属性---链接器---输入---附加依赖项:加上lib文件名。
3、添加工程引用的dll动态库:把引用的dll放到工程的可执行文件所在的目录下。
做安卓的开发有段日子了,但是对工程文件一直不敢乱动,现在进入模块集成阶段,需要在主工程中引入其它的工程模块,就初步的研究了下怎么把别人写的lib模块加入到主工程。首先想到的是把别人的工程文件打包成jar文件,放到主工程的libs目录下。研究了下,网上说现在打包成aar文件比较好,就学习了下。
首先把lib工程编译生成的aar文件(在build/outputs)拷贝到主工程libs目录,然后在主工程模块的build.gradle中添加两项:
repositories {
flatDir {
dirs 'libs'
}
}
dependencies {
compile(name:'isisdata-release', ext:'aar')
}
其中isisdata-release是我的aar文件名称,这就好了。
但是开发的过程中发现lib文件和主工程集成有些问题,需要两个文件集成调试。用aar的方式不太方便调试修改代码。还是把代码直接引入主工程方便。但是显然不能把lib的代码直接拷贝(import)到主工程,这样会造成两份lib代码,维护起来麻烦。这就需要把在主工程目录外部目录的工程链接到主工程。研究了下,发现了解决方法:
首先,在主工程的setting.gradle中添加外部工程的信息:
include ':isisdata'
project(':isisdata').projectDir
= new
File('/PATH/TO/isisdata/')
然后在主工程的build.gradle中添加
dependencies {
compile
project(':isisdata')
}
这样编译就OK了。
问题出在运行的时候报错“Duplicate files copied in APK
META-INF/NOTICE.txt”,在主工程的build.gradle中添加:
android
{
packagingOptions
{
exclude
'META-INF/LICENSE.txt'
exclude
'META-INF/NOTICE.txt'
}
}
就可以解决。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)