• 11738阅读
  • 15回复

我快要崩溃了,关于静态编译的问题 [复制链接]

上一主题 下一主题
离线sinl
 

只看楼主 倒序阅读 楼主  发表于: 2006-04-15
我受不了了,谁在红旗5。0桌面版上静态编译过QT4啊,为什么我编译后不是静态链接的时候报错就是中文成了乱码啊?
离线XChinux

只看该作者 1楼 发表于: 2006-04-15
我用的正常啊。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线sinl

只看该作者 2楼 发表于: 2006-04-15
版主你是静态链接的?
你 file xxxx 一下
我怎么不行阿
离线XChinux

只看该作者 3楼 发表于: 2006-04-15
动态的。
动态方便。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线sinl

只看该作者 4楼 发表于: 2006-04-15
或者把你编译的时候那个源代码目录下的config.status文件发给我看一下,那个文件内容很少
离线sinl

只看该作者 5楼 发表于: 2006-04-15
不行啊,我不能动态链接,我只能静态链接
不然我怎么脱离环境运行啊,我做的是安装程序,如果不用静态的话,你叫我怎么去别的目标机器上运行啊
离线XChinux

只看该作者 6楼 发表于: 2006-04-15
可惜那个文件已经被删除了。我用的是Qt 4.1.1,在RedFlag Workstation 5.0下编译的,后来安装了RedFlag Desktop 5.0,直接把在RedFlag Workstation 5.0下编译安装好的拷贝过来用的。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 7楼 发表于: 2006-04-15
用WinRar来制作自解压安装文件。
就是安装文件先自解压(把动态库也解压开了),解压开后运行自己的安装程序(这回有动态库了,可运行了)来安装。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线sinl

只看该作者 8楼 发表于: 2006-04-15
redflag dt版和ws版还是有很大区别的,我现在比较郁闷,我急需帮助啊,版主帮我想想办法啊
离线sinl

只看该作者 9楼 发表于: 2006-04-15
引用第7楼XChinux2006-04-15 23:43发表的“”:
用WinRar来制作自解压安装文件。
就是安装文件先自解压(把动态库也解压开了),解压开后运行自己的安装程序(这回有动态库了,可运行了)来安装。



我晕,老大,我在linux下面啊,我从来不在WINDOWS下面开发的
离线sinl

只看该作者 10楼 发表于: 2006-04-15
版主丢个QQ号码给我,我的号码是:24835871
或者MSN adf_qintm@hotmail.com
离线XChinux

只看该作者 11楼 发表于: 2006-04-15
Linux那就写shell脚本吧。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线sinl

只看该作者 12楼 发表于: 2006-04-15
脚本不行,我的安装程序只能有一个文件,而且以前的QT3是可以静态编译链接的,我想QT4一定可以,只是我们没找到方法
离线XChinux

只看该作者 13楼 发表于: 2006-04-16
Qt 4.1.2静态编译安装成功了,但写程序的时候静态链接时出错,libfontconfig等地方出错。写程序动态链接的话没问题。

config.status文件

#!/bin/sh
if [ "$#" -gt 0 ]; then
/home/redflag/backup/qt-x11-opensource-src-4.1.2/configure -static -release -no-qt3support -fast -confirm-license "$@"
else
/home/redflag/backup/qt-x11-opensource-src-4.1.2/configure -static -release -no-qt3support -fast -confirm-license
fi
~


我不知道如果把for X11的那些选项去掉不知道可以不。大多数都是默认的选择了,如果不选择,不知道上面的链接会不会出问题。

Qt/X11 only:

* -no-nas-sound ...... Do not compile in NAS sound support.
  -system-nas-sound .. Use NAS libaudio from the operating system.
                See http://radscan.com/nas.html

  -no-sm ............. Do not support X Session Management.
* -sm ................ Support X Session Management, links in -lSM -lICE.

  -no-xshape ......... Do not compile XShape support.
* -xshape ............ Compile XShape support.
                Requires X11/extensions/shape.h.

  -no-xinerama ....... Do not compile Xinerama (multihead) support.
* -xinerama .......... Compile Xinerama support.
                Requires X11/extensions/Xinerama.h and libXinerama.

  -no-xcursor ........ Do not compile Xcursor support.
* -xcursor ........... Compile Xcursor support.
                Requires X11/Xcursor/Xcursor.h and libXcursor.

  -no-xrandr ......... Do not compile Xrandr (resize and rotate) support.
* -xrandr ............ Compile Xrandr support.
                Requires X11/extensions/Xrandr.h and libXrandr.

  -no-xrender ........ Do not compile Xrender support.
* -xrender ........... Compile Xrender support.
                Requires X11/extensions/Xrender.h and libXrender

  -no-fontconfig ..... Do not compile FontConfig (anti-aliased font) support.
* -fontconfig ........ Compile FontConfig support.
                Requires fontconfig/fontconfig.h, libfontconfig,
                freetype.h and libfreetype.

  -no-tablet ......... Do not compile Tablet support.
* -tablet ............ Compile Tablet support.
                Requires IRIX with wacom.h and libXi or
                XFree86 with X11/extensions/XInput.h and libXi.

  -no-xkb ............ Do not compile XKB (X KeyBoard extension) support.
* -xkb ............... Compile XKB support.

附件中的截图是静态安装动态链接时的,可以使用中文,但就是在用scim输入法输入时输入的是乱码。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线XChinux

只看该作者 14楼 发表于: 2006-04-16
静态链接安装时QT好大啊,670M,而且还是没有debug library的。
而动态链接安装,包括debug library才340M,如果没有debug library则只有76M
静态release安装和动态release安装相差近10倍。
[ 此贴被XChinux在2006-04-16 14:30重新编辑 ]
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线sinl

只看该作者 15楼 发表于: 2006-04-16
是的,静态链接的时候是会报libfontconfig错误
什么一堆函数未定义

所有的选项都是可以去掉的,我尝试过,但是你去掉以后很多东西不能使用,比如拖拽(-xshape 选项) 还有字体配置,但是即使你全加上默认选项还是不能解决中文问题,我现在最担心的就是QT使用了插件模型来解决国际化问题,这样的话静态编译就比较复杂了。

而且用designer 写界面的时候,中文无法输入,全是乱码,在源文件里面添加中文也不行,
比如tr("测试")或者 QString::fromLocal8Bit("测试"),显示出来的都是乱码
快速回复
限100 字节
 
上一个 下一个