我们有一个Visual Studio Android解决方案,其中包含一个静态库项目,其中包含在程序集中实现的功能。喜欢:
my.S - > libMine.a - > libMyApp.so一些篮球(…
似乎有用的是:
1,确保汇编文件的扩展名为 .S ,即资本S.这是我发现的少数几个实例之一,其中文件名的情况在Windows上很重要。
.S
2,配置项目以便构建程序集文件 clang.exe {full/path/to/assembly.S, i.e. %(FullPath)} -c --target=$(ClangTarget) -g -o $(IntDir)%(FileName).o 。在VS Android的情况下,我们需要分别指定构建输出,即 $(IntDir)%(FileName).o 一遍又一遍。
clang.exe {full/path/to/assembly.S, i.e. %(FullPath)} -c --target=$(ClangTarget) -g -o $(IntDir)%(FileName).o
$(IntDir)%(FileName).o
3,跑 ar 作为post build命令: {correct toolchain}/ar.exe rus $(TargetPath) {output from assembly compilation} , 对于每个程序集文件 。
ar
{correct toolchain}/ar.exe rus $(TargetPath) {output from assembly compilation}
缺少此解决方案的一件事是检测[缺少]更改,这意味着将在每次编译时重建汇编文件,以及依赖于它的所有内容。