-Wl,-rpath,'$$ORIGIN'
时间: 2024-06-02 10:12:02 浏览: 145
这是一个链接器选项,用于设置在程序运行时动态链接库的搜索路径。其中,$$ORIGIN代表可执行文件所在的目录。
该选项的作用是将可执行文件所在的目录作为动态链接库搜索路径之一,这样程序就可以在运行时动态加载需要的动态链接库。这种方式比较灵活,因为它可以避免在系统中安装多个版本的同一动态链接库造成的冲突问题。
相关问题
QMAKE_LFLAGS += "-Wl,-rpath,\'\$$ORIGIN/../prolib\'"
这是一个QMake的语句,用于将一个指向prolib目录的相对路径添加到链接器标志(linker flags)中。其中,`-Wl`选项告诉编译器将其后面的参数传递给链接器;`-rpath`选项指定一个运行时搜索路径(run-time search path),用于在运行时查找共享库文件(shared libraries)。而`'\$$ORIGIN/../prolib'`是一个展开为`$ORIGIN/../prolib`的路径,其中`$ORIGIN`表示可执行文件所在的目录。因此,整个语句的作用是将可执行文件的运行时搜索路径添加一个指向prolib目录的相对路径,以便在运行时能够正确地加载所需的共享库文件。
编译选项/usr/bin/g++ -Wl,--enable-new-dtags -Wl,-z,origin -Wl,-rpath,$ORIGIN/../../../../../5.14.1/gcc_64/lib -Wl,-rpath,$ORIGIN/../../../../../5.14.1/gcc_64/lib -s -o analogclock .obj/analogclock.o .obj/main.o .obj/moc_analogclock.o -L/home/qt/openssl-1.1.1d/lib /home/farsight/farsight/feng/buildroot-2021.02.1/output/build/qt5base-5.15.2/lib/libQt5Widgets.so /home/farsight/farsight/feng/buildroot-2021.02.1/output/build/qt5base-5.15.2/lib/libQt5Gui.so /home/farsight/farsight/feng/buildroot-2021.02.1/output/build/qt5base-5.15.2/lib/libQt5Core.so -lGL -lpthread是否正确
/usr/bin/g++编译选项中的大多数选项都是链接器选项,用于指定链接器的行为和规则。这些选项一般会影响可执行文件的生成、模块的链接以及共享库的链接等。
根据你提供的编译选项,可以看出你是在使用g++编译器来编译一个名为analogclock的可执行文件,使用了以下链接器选项:
- -Wl,--enable-new-dtags:启用新的DTags,用于指定可执行文件依赖的共享库。
- -Wl,-z,origin:指定可执行文件的运行路径为可执行文件所在的目录。
- -Wl,-rpath,$ORIGIN/../../../../../5.14.1/gcc_64/lib:指定运行时动态链接器查找共享库的路径。
- -s:生成一个无符号的可执行文件。
- -L/home/qt/openssl-1.1.1d/lib:指定共享库搜索路径。
- /home/farsight/farsight/feng/buildroot-2021.02.1/output/build/qt5base-5.15.2/lib/libQt5Widgets.so:指定需要链接的共享库,这里是Qt5Widgets库。
- /home/farsight/farsight/feng/buildroot-2021.02.1/output/build/qt5base-5.15.2/lib/libQt5Gui.so:指定需要链接的共享库,这里是Qt5Gui库。
- /home/farsight/farsight/feng/buildroot-2021.02.1/output/build/qt5base-5.15.2/lib/libQt5Core.so:指定需要链接的共享库,这里是Qt5Core库。
- -lGL:指定需要链接的静态库,这里是OpenGL库。
- -lpthread:指定需要链接的静态库,这里是pthread库。
根据这些编译选项,可以初步判断编译选项是否正确。但具体是否正确还需要根据实际情况来判断,比如是否需要链接其他库等。
阅读全文