【问题标题】:Please complile with -fPIE and link with -pie flag请使用 -fPIE 编译并使用 -pie 标志链接
【发布时间】:2016-12-10 05:55:47
【问题描述】:

我为 Tizen 构建了一个 Unity 项目。在 Tizen Studio 的模拟器中运行,但我在日志中得到了这个:

错误/AUL_PAD(3370:3370):launchpad_loader.c:main(713)> dlopen 失败(/opt/usr/apps/com.example.nameapp.test/bin/nameapp:无法打开共享对象文件:否这样的文件或目录)。请用 -fPIE 编译并用 -pie 标志链接

我该如何解决?

【问题讨论】:

标签: unity3d tizen


【解决方案1】:

如果您想与dlopen()dlsym() 一起使用,可以作为应用入口点的可执行文件必须使用-fPIE-pie 标志进行编译。

基本上,tizen 系统应该使用“launchpad”守护进程启动应用程序。 “launchpad”deamon fork 候选进程以供将来启动。 这个候选进程使用dlopen()dlsym() 来打开和启动应用程序的可执行文件。

所以您的可执行文件必须使用-fPIE-pie 标志构建。

我不知道如何使用 Unity 构建代码。
如果您使用 Tizen Studio,您可以检查 All options 中的 project -> properties -> c/c++ build -> Settings -> C/C++ compiler 中是否存在 -fPIE 并检查 -pie 是否存在在All optionsC/C++ linker

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 2022-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    相关资源
    最近更新 更多