| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3436 人关注过本帖
标题:软件如何静态编译或这是制作成安装包
只看楼主 加入收藏
前世是仙
Rank: 2
等 级:论坛游民
帖 子:14
专家分:18
注 册:2010-7-28
结帖率:100%
收藏
已结贴  问题点数:40 回复次数:12 
软件如何静态编译或这是制作成安装包
比如说 我在VS2008 C++控制台下写了这么一个程序
#include <stdio.h>
#include "highgui.h"
#pragma comment(lib,"highgui200d.lib")
int main()
{
   
    cvNamedWindow("sdfs",1);
    cvWaitKey(0);
    return 0;
}
该程序使用了OpenCV的库,需要安装OpenCV环境才能编译成功 产生一个OpenCV的窗口
把该程序编译以后 如何才能让其EXE文件脱离编译环境在别的电脑上运行。
我在网上找了一下方案,有的说用vs新建一个部署项目,把类库和组件什么的都放进去...
有的说用release静态编译什么的,我在虚拟机上都试了一下,不行。
不知道哪位大哥会啊,最好一步一步的说下,静态编译或制作成安装包都行,只要能在没有编译环境的机子上运行就行。
搜索更多相关主题的帖子: 静态 软件 编译 制作 
2010-08-15 16:39
前世是仙
Rank: 2
等 级:论坛游民
帖 子:14
专家分:18
注 册:2010-7-28
收藏
得分:0 
后来 我把需要的DLL放到同一个文件下 虚拟机上还是不能运行!
2010-08-15 16:41
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:20 
以下是引用前世是仙在2010-8-15 16:41:19的发言:

后来 我把需要的DLL放到同一个文件下 虚拟机上还是不能运行!
   你的CV不仅需要自身的DLL,同时还需要VC2008的Runtime环境。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-08-15 23:27
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:20 
他应该是想用静态库编译,把库的代码嵌到可执行文件里。但前提是得有静态库支持你这么编译。
现在很多程序库都是共享库,这种库当然有很多优点,不过就是在没有这个库的机子上跑不了。
2010-08-16 00:22
前世是仙
Rank: 2
等 级:论坛游民
帖 子:14
专家分:18
注 册:2010-7-28
收藏
得分:0 
具体该怎么做啊
2010-08-16 11:02
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
去找静态库呗,你用的库可能根本就不行。
2010-08-16 11:40
前世是仙
Rank: 2
等 级:论坛游民
帖 子:14
专家分:18
注 册:2010-7-28
收藏
得分:0 
我把上面代码编译成exe和highgui210d.dll,cxcore210d.dll放 到虚拟机下
系统错误消息为
弹出应用程序: testSteup.exe - 应用程序错误: 应用程序正常初始化(0xc0150002)失败。请单击“确定”,终止应用程序。
C:\Program Files\Setup1\highgui210d.dll 失败。 参考错误消息: 操作成功完成。
Resolve Partial Assembly 为 Microsoft.VC90.DebugCRT 失败。 参考错误消息: 参照的汇编没有安装在系统上
找不到附属汇编 Microsoft.VC90.DebugCRT,上一个错误是 参照的汇编没有安装在系统上。

楼上说的静态库是什么 是DLL 这个我不懂啊
2010-08-16 12:05
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
用 DLL 的就不是静态库。windows 下的东西我也不是很懂,我有个同学一直在学这个,所以我相对是略知一二,具体的就不行了。
2010-08-16 12:14
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
都告诉你要VC2008的runtime环境了,到这里下个放到你的‘鸡鸡’里。OK.

http://www.

BTW:
注意,把程序直接搞成release的,别debug了。这个runtime包可能不包含debug环境。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-08-16 12:44
前世是仙
Rank: 2
等 级:论坛游民
帖 子:14
专家分:18
注 册:2010-7-28
收藏
得分:0 
你说的补丁装了以后 用了release版本 还是不行啊  同样的系统错误消息
2010-08-16 13:18
快速回复:软件如何静态编译或这是制作成安装包
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014429 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved