繁体   English   中英

编译具有相同文件名但具有不同路径的源文件

[英]Compiling source files with identical filenames but with different paths

我正在将应用程序从iOS移植到Android,甚至无法构建。 问题是在链接阶段,正在使用相同的.o文件,但显然目标目录中只有一个:

Makefile.Test4b:12284:警告:忽略目标`Session.o'的旧命令/ usr / local / Caskroom / android-ndk / 19 / android-ndk-r19 / toolchains / llvm / prebuilt / darwin-x86_64 / bin / clang ++ -D__ANDROID_API __ = 21-目标aarch64-无-linux-android -gcc-toolchain /usr/local/Caskroom/android-ndk/19/android-ndk-r19/toolchains/aarch64-linux-android-4.9/prebuilt/darwin- x86_64 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,-exclude-libs,libatomic.a --sysroot = / usr / local / Caskroom / android-ndk / 19 / android-ndk-r19 / platforms / android-21 / arch-arm64 / -Wl,-soname,libqueen-test4b.so -Wl,-rpath = / Applications / Qt / 5.12.4 / android_arm64_v8a / lib -Wl,-rpath -link = / Applications / Qt / 5.12.4 / android_arm64_v8a / lib -Wl,-no-undefined -Wl,-z,noexecstack -shared -o libtest4b.so ... Session.o ... Session.o 。 ..

源文件位于不同的目录和不同的c ++命名空间中。

这是xcodebuild处理它的方式:

CompileC .xcode / test4b.build / Debug-iphonesimulator / test4b.build / Objects-normal / x86_64 / Session- 804CCC700882D686 .o /Users/danilabagroff/test4b/Model/Application/Session.cpp正常x86_64 c ++ com.apple.compilers。 llvm.clang.1_0.compiler

如何添加后缀,如xcodebuild但带有(q)make或如何将每个目标文件放在不同的目录中?

PS。 不想重命名源文件;)

CONFIG += object_parallel_to_source

做到了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM