仔细看里面的源代码,应该有一些文件里有连接到lib文件的,这是QT的动态库文件把QT库编译成linux下的lib,然后编译的时候,把lib文件放在同一文件夹,并且编译命令加上-l lib或者放到根目录下的lib目录下也可以。这样试一下。o文件还需要经过连接才能生成可执行的文件。
例如有3个文件 maincpp funch funccpp 你要别的程序用的函数和变量都要放在 funch 中。 maincpp: #include "funch" main() { myvalue = myfunc(); } funch #ifndef FUNCH // 避免重复定义,一定要有! #define FUNCH long myfunc(); // 让别的cpp使用函数 extern long myvalue; // 让别的cpp使用变量 #endif funccpp long myvalue; long myfunc() { return 10; } 用上面的方法,你有随便多少个cpp都没有问题。 当然要保证你用的cpp和h已经加入工程了。 好的习惯是将类似的函数放在同一个cpp, 每个类 用自己的cpp
首先要编译器masmexe链接器linkexe
1程序放文件面命名asm
2汇编文件(asm) 放编译器masmexe链接器linkexe同文件夹面
3dos命令行用cd前目录转化包含面三文件目录
4masm asm
5,line obj
6,exe
用脚本比较简单
前目录创建文件命名abat
面写
masm asm
link obj
exe
pause
注意句行
直接点击运行
git 版的,用的是 cmake 来编译的,结果,发现,这个软件声称需要 Linux-PAM 的支持,但是在官方说明文档中并没提到这个支持,于是,我就试着下了一份 Linux-PAM ,经过几次编译调试,最终用的以下配置命令通过 Linux-PAM 的编译:
程序代码: [选择]
cd /tmp
wget /debian/pool/main/p/pam/pam_111origtargz
tar zxvf pam_111origtargz
cd Linux-PAM-111
/configure \
--prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--docdir=/usr/doc \
--mandir=/usr/man \
--libdir=/usr/lib \
--libexecdir=/usr/libexec \
--includedir=/usr/include/pam \
--infodir=/usr/info \
--sysconfdir=/etc/pam \
--build=i486-slackware-linux \
--with-xauth
make
make install
make DESTDIR=/tmp/Linux-PAM-111-iThinkX install
cd /usr/include
ln -sf pam securty
cd /tmp/Linux-PAM-111-iThinkX/usr/include/
ln -sf pam securty
cd /tmp
mksquashfs Linux-PAM-111-iThinkX Linux-PAM-111-iThinkXxzm -b 512k -Xbcj x86
--includedir=/usr/include/pam 这行犹其要注意,如果不是指定这个地方,编译 iTALC 时,还是会报告找不到 pam 组件,上面工作做完后,就可以开始编译 iTALC 了
编译 iTALC :
经过实际测试,我的运气不佳,事实证明,官方今天的 git 版源码有严重问题,所以,没办法,又跑到官方下了一份正式发行版来编译:
程序代码: [选择]
cd /tmp
wget /project/italc/italc/1013/italc-1013tarbz2
tar jxvf italc-1013tarbz2
cd italc-1013
/configure \
--prefix=/usr \
--bindir=/usr/bin \
--sbindir=/usr/sbin \
--docdir=/usr/doc \
--mandir=/usr/man \
--libdir=/usr/lib \
--libexecdir=/usr/libexec \
--includedir=/usr/include \
--infodir=/usr/info \
--sysconfdir=/etc/italc \
--build=i486-slackware-linux \
--with-linux \
--with-x
make
make install
make DESTDIR=/tmp/italc-1013-iThinkX install
cd /tmp
mksquashfs italc-1013-iThinkX>
源程序的编译是指对于程序源代码的编译过程,由编译器完成,适用于编译语言,编译的过程会生成相应的程序的机器码。 源程序的解释是指对于程序源代码的解释的过程,由解释器完成,适用于解释语言。 解释语言和编译语言的区别在于解释语言编写的程序在每次运行时都需要通过解释器对程序进行动态解释和执行;解释语言编写的程序有时被称为脚本,一般是读者可以直接阅读的代码。解释器通过读取脚本,对它解释,然后执行脚本中的命令。 例如:我们通常使用的DOS命令行命令执行环境本身就是一个解释器。读入键入:“dir”命令并回车,解释器接收并翻译这条命令,然后进行系统调用来完成命令的运行,并把结果显示出来。相应的bat批处理文件可以说就是一种脚本。 编译语言需要通过编译器,将所编写的程序翻译成计算机的机器语言。完成编译后的程序无需其他程序,自己可独立运行。因为编译后的程序是由机器语言指令构成的,所以通常它的运行速度很快。但是使用不同硬件平台的计算机,它们的机器语言也是截然不同的,这同样使得编译过的程序不能顺利地从一个计算机平台往另外一个平台上移植。所以,在不同的平台之间,往往需要重新编译甚至重写程序。解释性程序没有这个限制。一般情况下,只要有相应版本的语言解释器,脚本程序就可以几乎不做任何修改地移植到其他平台上去。
源程序是指程序员编写的代码,可以被编译程序编译为目标程序。
如果是C++,那么后缀为cpp
目标程序是编译程序将源程序编译后的结果,如果是C++,那么后缀是o
编译程序一般是编译器公司(比如微软
Intel他们都生产编译器)做的,它将源代码转化为机器可识别的文件,经过链接,生成可执行程序。
解释程序即解释器,它不需要经过编译阶段即可根据用户源程序执行。
程序语言分编译类和解释类语言。
1将这7个文件拷入一文件夹 myobject
2用visual c++ 60 或 visual studio 2005/2008 打开任意一个 cpp 文件
3在工具栏或菜单栏上点编译(compile),组建(build) 或 debug(调试)
4如果源码没有错误的话,会提示你是否为此项目建立工程,点 是
5产生运行结果
6到当前工作目录(myobject)下的 debug 或 release 文件夹找到你想到的exe
1、Android的文件系统结构是怎样的,我们安装的程序放在那里?
编译Android源码之后,在out/target/product/generic一些文件:
ramdiskimg、systemimg、userdataimg、 system、 data、root
其中, systemimg是由 system打包压缩得到的, userdataimg是由 data打包压缩得到的。
ramdiskimg是模拟器的文件系统,把ramdiskimg解压出来可知道,ramdiskimg里的文件跟root文件夹的文件基本一样。模拟器装载ramdiskimg并解压到内存,接着分别把systemimg和userdataimg挂载到 ramdisk下的system和data目录。我们编译出来的应用程序就是放在system/app下的。用户安装的程序则是放在data/app下。
2、Android SDK和android源码能为我们提供什么工具?
AndroidSDK提供有很多工具,如adb,ddms,emulator,aapt等,并提供kernel-qemu、ramdiskimg、systemimg、userdataimg。因此,只要有android SDK,我们就可以在模拟器上把android跑起来。
Android源码可以编译出android SDK、adb等工具、android文件系统,以及ADT插件,也就是说,我们可以从android源码编译出所有android相关的东西。
3、 把Android源 码”make”之后会生成许多工具和android文件系统(systemimg等),我们又可以使用“makesdk”来生成android SDK,android
SDK也包括有工具和android文件系统(systemimg等),而原来安装的时候我们也安装了androidSDK,那么我们在开发时应该使用那些工具和android文件系统呢?
以上就是关于linux下 qt程序源代码如何编译运行全部的内容,包括:linux下 qt程序源代码如何编译运行、一堆python的源码,怎样编译成一个程序、如何编译intel汇编语言程序设计上的源码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)