- 主题:QT的某些设计真是。。。NC
近期遇到了在linux上开发QT程序的需求
开发者1 用的 slaceware Linux。
开发到一定程度后,将QT项目源码打包拷贝到 开发者2 的电脑上继续开发(Ubuntu)
结果编译出一堆错误。。。
花了半天的时间发现其中一个错误,QT的内部库和外部库include居然是用的绝对地址!!
也就是说,两台机器的QT安装路径不一样,就无法找到对应库了。
这也太脑残了吧???
--
FROM 223.72.74.*
旧版本的 Qt 有个 lib path 写死的问题,新版本没有了。
不过,还有一种可能是你把 IDE 的项目配置也复制过去了。
你们不使用 git ?源代码复制?
我觉得你可能要考虑一下不是 Qt 的问题,多半是你自己项目哪里搞错了。
【 在 watersouth 的大作中提到: 】
: 近期遇到了在linux上开发QT程序的需求
: 开发者1 用的 slaceware Linux。
: 开发到一定程度后,将QT项目源码打包拷贝到 开发者2 的电脑上继续开发(Ubuntu)
: ...................
--
修改:hgoldfish FROM 59.60.24.*
FROM 59.60.24.*
不管你用qmake还是cmake,Qt路径都是可配置的。
环境变了,建议把build目录删了,重新构建一遍再骂不迟。
【 在 watersouth 的大作中提到: 】
: 近期遇到了在linux上开发QT程序的需求
: 开发者1 用的 slaceware Linux。
: 开发到一定程度后,将QT项目源码打包拷贝到 开发者2 的电脑上继续开发(Ubuntu)
: ...................
--
FROM 36.251.84.*
多谢大佬回复
项目配置应该是没有的,打开时QT主动要求配置编译器啥的。
因为项目比较特殊,所以没有用git。。。的确是可以考虑用git。
当时的确是直接源代码打包复制过去的,打开.pro,然后Qt重新配置了一下编译器和其它选项就进去了
【 在 hgoldfish 的大作中提到: 】
: 旧版本的 Qt 有个 lib path 写死的问题,新版本没有了。
: 不过,还有一种可能是你把 IDE 的项目配置也复制过去了。
: 你们不使用 git ?源代码复制?
: ...................
--
FROM 223.72.74.*
多谢回复
build目录肯定是删除了,linux下面的QT开发不太熟
有可能是自己的问题,还请多指教
【 在 cn62 的大作中提到: 】
: 不管你用qmake还是cmake,Qt路径都是可配置的。
: 环境变了,建议把build目录删了,重新构建一遍再骂不迟。
:
--
FROM 223.72.74.*
如果是 QtCreator 的话,会在项目路径里面生成 CMakeLists.txt.user 文件。这个文件里面纪录了 Qt 的路径,不删这个文件会出错。。qmake 也类似。
至于 IDEA 和 eclipse 啥的,项目底下会有 .idea 这样的配置路径。
所以直接源代码打包发送很容易出问题。
【 在 cn62 的大作中提到: 】
: 不管你用qmake还是cmake,Qt路径都是可配置的。
: 环境变了,建议把build目录删了,重新构建一遍再骂不迟。
--
FROM 59.60.24.*
多谢前辈指点
回头看下是不是这个问题
【 在 hgoldfish 的大作中提到: 】
: 如果是 QtCreator 的话,会在项目路径里面生成 CMakeLists.txt.user 文件。这个文件里面纪录了 Qt 的路径,不删这个文件会出错。。qmake 也类似。
: 至于 IDEA 和 eclipse 啥的,项目底下会有 .idea 这样的配置路径。
: 所以直接源代码打包发送很容易出问题。
: ...................
--
FROM 223.72.74.*
没错,CMakeLists.txt.user,我没记起来这个文件。
QtCreator/qmake我用的不多,很早就转成cmake了,它的find_package可以自动找到Qt(自己编译的Qt也只要设置下QT_BIN_DIR)。
【 在 hgoldfish 的大作中提到: 】
: 如果是 QtCreator 的话,会在项目路径里面生成 CMakeLists.txt.user 文件。这个文件里面纪录了 Qt 的路径,不删这个文件会出错。。qmake 也类似。
: 至于 IDEA 和 eclipse 啥的,项目底下会有 .idea 这样的配置路径。
: 所以直接源代码打包发送很容易出问题。
: ...................
--
修改:cn62 FROM 36.251.84.*
FROM 36.251.84.*
cmake本身生成makefile时就是写死各种路径的
【 在 hgoldfish 的大作中提到: 】
: 如果是 QtCreator 的话,会在项目路径里面生成 CMakeLists.txt.user 文件。这个文件里面纪录了 Qt 的路径,不删这个文件会出错。。qmake 也类似。
: 至于 IDEA 和 eclipse 啥的,项目底下会有 .idea 这样的配置路径。
: 所以直接源代码打包发送很容易出问题。
: ...................
--
FROM 101.85.34.*
是的,cmake 生成的 makefile 检测到 CMakeLists.txt 文件发生变化会重新生成一遍。但如果源代码全部复制过去,环境变了,但 CMakeLists.txt 没变的话,也会出错。
【 在 missdeer 的大作中提到: 】
: cmake本身生成makefile时就是写死各种路径的
--
FROM 120.33.9.*