- 主题:怎么生成一个根路径可移动的 GCC 工具链? (转载)
【 以下文字转载自 LinuxDev 讨论区 】
发信人: easior (潜行), 信区: LinuxDev
标 题: Re: 怎么生成一个根路径可移动的 GCC 工具链?
发信站: 水木社区 (Mon Feb 28 03:26:19 2022), 站内
印象中 MinGW 很特别,装在哪里都能正常链接动态库,而不是静态库;
搜了一下,找到了一篇博客
https://blog.hackpascal.net/2015/10/%E8%AE%B0%E4%B8%80%E6%AC%A1-mingw-w64-%E5%B7%A5%E5%85%B7%E9%93%BE%E7%9A%84%E5%88%B6%E4%BD%9C%E8%BF%87%E7%A8%8B/
从这篇博客的结尾10行瞎猜了一下,MinGW能安装在任意位置都能正确链接,
是因为将--prefix指向了一个虚假的/mingw64,但生成的工具链记住了这个本不存在的 RPATH!
【 在 ArchLinux (a lightweight and flexible distribution) 的大作中提到: 】
: 我一般都用静态链接,GCC有--disable-shared这个configure选项。动态链接可能需要查一下相关选项,例如--sysroot这类的。
--
FROM 183.131.109.*
是因为将--prefix指向了一个虚假的/mingw64,但生成的工具链记住了这个本不存在的 RPATH!
如果真将prefix设置成/mingw64 ,然后在任意一台机器上把 用ln -s 把 /mingw64指向实际存放的qt的位置,是不是就可以自编译的qt-lib移动位置
背景,现在项目使用了自编译的qt的,但qt编译完之后会在库里固化当前prefix路径,就不能移动位置了,有点小不方便。
想把所有东西都放到git里, app代码,qt-lil-mod,qt-runtime,installer,在其他电脑也能使用
【 在 hothail 的大作中提到: 】
: 发信人: easior (潜行), 信区: LinuxDev
: 标 题: Re: 怎么生成一个根路径可移动的 GCC 工具链?
: 发信站: 水木社区 (Mon Feb 28 03:26:19 2022), 站内
: ...................
--
FROM 120.244.218.*
你用的 Qt 是什么版本。。
我隐约记得有个 Qt 版本解决了这个问题。
【 在 hothail (沸冰!无尽的华尔兹) 的大作中提到: 】
: 是因为将--prefix指向了一个虚假的/mingw64,但生成的工具链记住了这个本不存在的 RPATH!
: 如果真将prefix设置成/mingw64 ,然后在任意一台机器上把 用ln -s 把 /mingw64指向实际存放的qt的位置,是不是就可以自编译的qt-lib移动位置
: 背景,现在项目使用了自编译的qt的,但qt编译完之后会在库里固化当前prefix路径,就不能移动位置了,有点小不方便。
: ...................
--
FROM 47.243.39.*
5.14.2
==补充
刚才ldd libQt5WebEngine.so
发现多数qt依赖是 是 /some/path/gcc_64/lib/./libQt5Core.so 这种形式
但 也有个别 /some/path/gcc_64/lib/libQt5Positioning.so 形式
- 来自 水木社区APP v3.5.3
【 在 hgoldfish 的大作中提到: 】
: 你用的 Qt 是什么版本。。
:
: 我隐约记得有个 Qt 版本解决了这个问题。
--
修改:hothail FROM 111.206.87.*
FROM 223.104.44.*
是在问怎么随意移动开发工具链的根路径吗?
实际上,就使用 --prefix 指向一个与默认工具链不发生冲突的路径,
自己编译的工具链可以用 make DESTDIR 放到任意想要放置的位置,
最后,建一个 DESTDIR 到假想的 --prefix 一个软链接。
MinGW 或 msys2 可安装在 Windows 的任意位置,
原因可能是 msys/msys2 模拟了 Linux 的标准目录结构。
【 在 hothail (沸冰!无尽的华尔兹) 的大作中提到: 】
: 【 以下文字转载自 LinuxDev 讨论区 】
: 发信人: easior (潜行), 信区: LinuxDev
: 标 题: Re: 怎么生成一个根路径可移动的 GCC 工具链?
: ...................
--
FROM 183.131.109.*
不是qt.conf搞定? 我就把库压缩发给客户随便他们放哪里
【 在 hothail (沸冰!无尽的华尔兹) 的大作中提到: 】
: 是因为将--prefix指向了一个虚假的/mingw64,但生成的工具链记住了这个本不存在的 RPATH!
: 如果真将prefix设置成/mingw64 ,然后在任意一台机器上把 用ln -s 把 /mingw64指向实际存放的qt的位置,是不是就可以自编译的qt-lib移动位置
: 背景,现在项目使用了自编译的qt的,但qt编译完之后会在库里固化当前prefix路径,就不能移动位置了,有点小不方便。
: ...................
--
FROM 113.118.113.*
qt.conf是用于发布后,
这里想解决是开发环境下,
主要是多个人开发的情景
- 来自 水木社区APP v3.5.3
【 在 jesce 的大作中提到: 】
: 不是qt.conf搞定? 我就把库压缩发给客户随便他们放哪里
--
FROM 223.104.44.*
开发(修改)Qt还是开发依赖于Qt的应用? 应用的话, 虽然需要指定路径先执行一下qmak
e, 后面就只要应用项目下make就好了
【 在 hothail (沸冰!无尽的华尔兹) 的大作中提到: 】
: qt.conf是用于发布后,
: 这里想解决是开发环境下,
: 主要是多个人开发的情景
: ...................
--
FROM 113.118.105.*
都有
先修改qt,然后多人基于这个裁剪版开发应用
- 来自 水木社区APP v3.5.3
【 在 jesce 的大作中提到: 】
:
: 开发(修改)Qt还是开发依赖于Qt的应用? 应用的话, 虽然需要指定路径先执行一下qmak
: e, 后面就只要应用项目下make就好了
--
FROM 223.104.44.*
如果多人只是基于裁剪版开发应用,那qt.conf就足够了
【 在 hothail 的大作中提到: 】
:
: 都有
: 先修改qt,然后多人基于这个裁剪版开发应用
: - 来自 水木社区APP v3.5.3
: 【 在 jesce 的大作中提到: 】
#发自zSMTH@80586
--
FROM 113.118.105.*