• 8488阅读
  • 12回复

请教make的问题 [复制链接]

上一主题 下一主题
离线lanyuer
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-21
xp系统,最近将Qt集成到vs2008中,按照向导新建Qt程序,编译正常。但是在对源代码直接make的时候产生的可执行文件一双击就出现“无法找到入口”“无法定位程序输入点 _Z13qFlagLocationPKc于动态链接库QtCored4.dll上”。
make的步骤是 qmake -project ;qmake -makefile;mingw32-make

问下大家这是什么缘故啊?
霜寒晓秋踏长径
芳谢初晨落嗟声
离线dbzhang800

只看该作者 1楼 发表于: 2009-11-21
记住一点:用vs 就好好用vs,用mingw就好好用mingw

如果要同时用,至少要装两套互不干扰的Qt
离线lanyuer
只看该作者 2楼 发表于: 2009-11-21
引用第1楼dbzhang800于2009-11-21 10:28发表的  :
记住一点:用vs 就好好用vs,用mingw就好好用mingw
如果要同时用,至少要装两套互不干扰的Qt
                    多谢指教,我的确是备了两套Qt。问题是现在得不到可以跨平台的程序啊,对不含pro和make的代码一点办法也没有。。。。。
[ 此帖被lanyuer在2009-11-21 10:54重新编辑 ]
霜寒晓秋踏长径
芳谢初晨落嗟声
离线dbzhang800

只看该作者 3楼 发表于: 2009-11-21
引用第2楼lanyuer于2009-11-21 10:48发表的  :
                    多谢指教,我的确是备了两套Qt。问题是现在得不到可以跨平台的程序啊,对不含pro和make的代码一点办法也没有。。。。。


1. 两套Qt,关键是要做到互不干扰。比如你首贴的问题,mingw编译的程序,却在调用vs编译的Qt的库

2. 后半句,没看懂。写个pro文件不就行了?
离线lanyuer
只看该作者 4楼 发表于: 2009-11-21
引用第3楼dbzhang800于2009-11-21 11:07发表的  :
1. 两套Qt,关键是要做到互不干扰。比如你首贴的问题,mingw编译的程序,却在调用vs编译的Qt的库
2. 后半句,没看懂。写个pro文件不就行了?
1.我用安装QtCreater里的Qt Command Prompt编译,它怎么会调用vs编译的Qt库呢?2.刚刚发现pro是可以在QtCreater下执行的,不过还是不知道为什么mingw32-make的怎么就不能运行呢?麻烦给我指点下,呵呵
霜寒晓秋踏长径
芳谢初晨落嗟声
离线dbzhang800

只看该作者 5楼 发表于: 2009-11-21
编译链接都没问题,前面我提到是“互不干扰”,但根据你的描述,你显然是vs编译的Qt的bin目录加入到系统path了。
离线lanyuer
只看该作者 6楼 发表于: 2009-11-21
Setting up a MinGW/Qt only environment...
-- QTDIR set to G:\Qt\2009.04\qt
-- PATH set to G:\Qt\2009.04\qt\bin
-- Adding G:\Qt\2009.04\bin to PATH
-- Adding C:\WINDOWS\System32 to PATH
-- QMAKESPEC set to win32-g++

G:\Qt\2009.04\qt>
这是Qt Command Prompt最前面显示的
G:\Qt\2009.04\qt 是没有被编译的Qt目录,这不代表在打开Qt Command的时候,环境变量改到未编译的Qt目录了吗?
注:编译过的目录是G:\Qt\2008\qt
霜寒晓秋踏长径
芳谢初晨落嗟声
离线dbzhang800

只看该作者 7楼 发表于: 2009-11-21
引用第6楼lanyuer于2009-11-21 11:44发表的  :
Setting up a MinGW/Qt only environment...
-- QTDIR set to G:Qt2009.04qt
-- PATH set to G:Qt2009.04qtbin
-- Adding G:Qt2009.04bin to PATH
-- Adding C:WINDOWSSystem32 to PATH
.......


我没说你的编译链接有问题,你不是运行是出问题了么? 你在这个命令行启动程序肯定也不会出错,但是你前面提到的是双击启动程序的...
离线lanyuer
只看该作者 8楼 发表于: 2009-11-21
引用第7楼dbzhang800于2009-11-21 11:47发表的  :
我没说你的编译链接有问题,你不是运行是出问题了么? 你在这个命令行启动程序肯定也不会出错,但是你前面提到的是双击启动程序的...


不是啊,我用命令行启动也是一样的。是在debug目录下直接执行文件名对吧?错误和双击没区别
霜寒晓秋踏长径
芳谢初晨落嗟声
离线dbzhang800

只看该作者 9楼 发表于: 2009-11-21
引用第8楼lanyuer于2009-11-21 11:55发表的  :
不是啊,我用命令行启动也是一样的。是在debug目录下直接执行文件名对吧?错误和双击没区别

是不是同一个命令行? 不会是你cmd另开的吧?
离线lanyuer
只看该作者 10楼 发表于: 2009-11-21
引用第9楼dbzhang800于2009-11-21 12:00发表的  :
是不是同一个命令行? 不会是你cmd另开的吧?

不是啊,就紧跟着mingw32-make之后。
霜寒晓秋踏长径
芳谢初晨落嗟声
离线dbzhang800

只看该作者 11楼 发表于: 2009-11-21
引用第10楼lanyuer于2009-11-21 12:07发表的  :
不是啊,就紧跟着mingw32-make之后。


你还是检查一下你的环境看看吧,或者直接把需要动态库和你的exe放到一块然后运行看看,确认一下你的dll没有问题
离线lanyuer
只看该作者 12楼 发表于: 2009-11-21
引用第11楼dbzhang800于2009-11-21 12:13发表的  :
你还是检查一下你的环境看看吧,或者直接把需要动态库和你的exe放到一块然后运行看看,确认一下你的dll没有问题

好吧,还是谢谢你。
霜寒晓秋踏长径
芳谢初晨落嗟声
快速回复
限100 字节
 
上一个 下一个