【发布时间】:2017-01-31 13:11:52
【问题描述】:
我解释我的问题:
我的项目是一个使用 C++ 和 NDK 的 android 应用程序。
我必须将库 ffmpeg 包含到我的项目中。
我已经用这个 tuto 构建了 ffmpeg:https://github.com/WritingMinds/ffmpeg-android(我看过脚本,它看起来像是为静态链接构建的)
我的 cmakelist.txt 正在运行,没有错误。但是当我运行我的程序时,我收到了这条消息: (我剪了还是太长了)
[1/1] 链接 CXX 共享库 ../../../../build/intermediates/cmake/debug/obj/x86/libgestionnaire.so
/local/Android/Sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../。 ./i686-linux-android/bin/ld:警告:共享库文本段不可共享
/local/Android/Sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../。 ./i686-linux-android/bin/ld: 错误:处理警告
最好的问候
【问题讨论】:
-
标题毫无意义。您会收到警告
shared library text segment is not shareable,它(根据链接器选项)被视为错误。当谷歌警告信息时,第一个参考给出this question。它的答案建议使用链接器选项-Wl,--no-warn-shared-textrel来抑制此类警告。 -
您好,感谢您的回答。我不确定标题(我是一个真正的初学者)。所以在我的 cmakelist 中我添加了这个: set(CMAKE_CXX_FLAGS
"${CMAKE_CXX_FLAGS} -std=gnu++11 -Wl --no-warn-shared-textrel")现在我收到了这个消息错误(我猜是好的部分):clang++: error: unsupported option '--no-warn-shared-textrel' -
这是一个链接器选项,所以你应该分配变量CMAKE_EXE_LINKER_FLAGS。另外,
-Wl后面的 逗号 是 选项的一部分,后面不能有空格。 -
你是对的,问题来自于昏迷。但我仍然对这些标志有同样的问题
-
随时发布您的解决方案作为答案并将其标记为已接受。接受自己的答案是完全可以的(并且接受的答案会让其他人更容易找到它)。
标签: android c++ ffmpeg android-ndk cmake