搭建VC6下的ACE开发环境

发信人: ouyang (金陵书生~算法*网络*C++), 信区: CPP
标  题: 〔原创〕搭建VC6下的ACE开发环境
发信站: 紫金飞鸿 (2006年01月30日20:10:10 星期一), 站内信件

                                搭建VC6下的ACE开发环境

0. 本文简述
1. 源码获取
2. 源码安装
3. 系统设置
4. VC环境设置
5. 常见问题

0. 本文简述
   本文简要介绍作者搭建VC6+SP6下的ACE5.4开发环境的基本步骤,主要是方便
以后查阅,任何错误/建议/指导请联系我。

1. 源码获取
   您可以从ACE(Adaptive Communication Environment)的创始人Douglas C. Schmidt
的主页上获取: http://www.cs.wustl.edu/~schmidt/ACE.html点击Obtain ACE 然后选
择您需要的最新版本的源代码(ACE/ACE+TAO,最新ACE5.4),要下载旧的版本可以去:
http://deuce.doc.wustl.edu/old_distribution/

2. 源码安装
   a.解压缩到特定目录如D:/ACE/(本文后面用$(ACE_ROOT)引述,凡是用到了$(ACE_ROO
T的地方请自行用您在这里的ACE所在目录代替)).
   b.在$(ACE_ROOT)/ace/下新建一个文件config.h,其内容如下:
   
    #define     ACE_HAS_STARDARD_CPP_LIBRARY    1
    #include    "ace/config-win32.h"
  
    其实也可以把config-win32.h改名成config.h,但是不推荐这样。
  c.用VC6打开$(ACE_ROOT)/ace.dsw,选择〔build〕->〔Batch build...〕->〔Build〕
    等编译完毕后(大概需要十来分钟或更多的时间)检查$(ACE_ROOT)/lib/下是否有
    ACE.dll,ACEd.dll等文件。

3.  系统设置
    右键点击〔我的电脑〕->〔属性〕->〔高级〕->〔环境变量〕
    在系统变量中的PATH路径中添加$(ACE_ROOT)/lib
    在VC中运行程序时提示说找不到ACE.dll/ACEd.dll时常常是这步没做。
    注:1. 有些资料在这步要求新建ACE_ROOT路径为$(ACE_ROOT),其实搭建VC6下的ACE
           开发环境时是不需要设置ACE_ROOT的。
        2. 有些资料是在VC的工程设置〔Project〕->〔Setting...〕中的
   〔Directories〕的Excutable files中加入$(ACE_ROOT)。然后,这样只能在通过VC
    进行编译/链接/运行时可行,不通过VC而直接运行程序会报错说找不到ACEd.dll
    (Debug模式)/ACE.dll(Release模式)。

4.  VC环境设置
    对于使用了ACE的项目,要求对其对其工程设置(〔Project〕->〔Setting...〕)进
    行如下修改:
    a. 〔C/C++〕: Category选择Code Generation,把Use run-time library设置为
        Debug MultiThreaded
    b. 〔C/C++〕: Category选择Preprocessor,在Addtional include directories中
        添加$(ACE_ROOT).
    c. 〔Link〕: Category选择Input,在Addtional library path中加入
        $(ACE_ROOT)/lib
    
    d.  在用到了ACE头文件的程序前面添加如下代码:

        #ifdef      _DEBUG
        #pragma     comment(lib,"ACEd.lib")
        #else
        #pragma     comment(lib,"ACE.lib")
        #endif

   注:1). 有些资料(包括The ACE Programmer's Guide) 不是使用d步骤而是在debug
    模式下进行编译前在c步骤中在object/library modules中添加aced.lib,在切换到
    用release模式进行编译时修改为ace.lib.d步骤中的代码相当于实现了该功能。
        2. 如果确定自己的所有项目都用同一个版本的ACE,也可以把上述对项目设置
    修改的b和c步骤改为在〔Tools〕->〔Options〕->〔Directories〕中作相应修改。

5.  常见问题
    1. 关于2.b步骤中config.h文件的一些说明:
       a.如果你在Windows NT或者Windows 2k上构建ACE,你可以马上开始构造而
         不需任何改变,如果你在Windows 9x/me上构建,那么你必须在
         $(ACE_ROOT)/ace/config.h.的#include块之前添加一行:
         
           #define ACE_HAS_WINNT4 0

       这将在ACE中移掉一些WinNT/Win2K中特有的代码。
       b. 如果你希望使用MSVC自带的标准C++头文件(C++ Standard Draft 2种定义
          的iostream,cstdio…..),则应该在$(ACE_ROOT)/ace/config.h.的#include
          块之前添加一行:

          #define ACE_HAS_STANDARD_CPP_LIBRARY 1

       c. 如果需要和MFC一起使用,增加如下定义到你的config.h文件中,注意,如
          果你想使用spawn一个新的线程,则必须保证使用THR_USE_AFX标志来spawn
          线程。

          #define ACE_HAS_MFC 1

          缺省的,ACE工程使用MSVC运行时的动态DLL版本,你也可以选择使用ACE的不
          关心运行时库的静态(LIB)版本。我们选择仅与动态运行时库连接的原因在
          于基本上所有的NT机器上都会安装这些库,而我们则可以因此而减小代码的
          大小。如果你希望ACE与MFC的静态版本连接,则可以在config.h中定义
          ACE_USES_STATIC_MFC。然而,如果你希望静态的连接所有的库(包括MSVC运
          行时库),就需要自己修改工程文件了。
       d. 如果要构建ACE的静态版本,则需要在config.h中定义ACE_AS_STATIC_LIBS,
          此宏在那些希望使用ACE的静态版本的应用工程中也必须定义。
          作为一个可选项,你可以在$(ACE_ROOT)/ace/config.h的#include块前添加
          一行:

          #define ACE_NO_INLINE

          来取消函数内联从而减小静态库(和你的运行码)的大小 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
搭建 Windows 下的 OpenCV 开发环境需要以下几个步骤: 1. 下载并安装 Visual Studio:可以从 Microsoft 官网下载最新版本的 Visual Studio Community,如果已经安装过 Visual Studio,可以跳过这一步。 2. 下载并解压 OpenCV:可以从 OpenCV 官网下载最新版本的 OpenCV,解压后可以得到一个文件夹,其中包含了所有的头文件、库文件和示例代码。 3. 在 Visual Studio 中创建一个新的 C++ 项目:选择 “Empty Project” 模板,勾选 “Create directory for solution” 选项,然后点击 “Create” 按钮。 4. 配置项目属性:右键点击项目,选择 “Properties”,在弹出的对话框中选择 “Configuration Properties” -> “C/C++” -> “General”,然后在 “Additional Include Directories” 中添加 OpenCV 的头文件路径,例如:D:\opencv\build\include。 5. 配置链接器:在同一对话框中选择 “Linker” -> “General”,然后在 “Additional Library Directories” 中添加 OpenCV 的库文件路径,例如:D:\opencv\build\x64\vc15\lib。 6. 配置运行时库:在同一对话框中选择 “Linker” -> “Input”,然后在 “Additional Dependencies” 中添加以下库文件: - opencv_world440.lib (适用于 OpenCV 4.4.0 版本) - opencv_world430.lib (适用于 OpenCV 4.3.0 版本) 根据实际使用的 OpenCV 版本进行选择。另外,还需要在 “C/C++” -> “Code Generation” 中将 “Runtime Library” 设置为 “Multi-threaded Debug (/MTd)” 或 “Multi-threaded (/MT)”。 7. 编写代码:在项目中添加一个新的源文件,编写 OpenCV 示例代码,例如: ```cpp #include <opencv2/opencv.hpp> using namespace cv; int main() { Mat image = imread("lena.jpg"); if (image.empty()) { printf("Could not open or find the image\n"); return -1; } imshow("image", image); waitKey(); return 0; } ``` 8. 编译并运行代码:按下 F5 键编译并运行代码,如果一切顺利,应该能够看到一张名为 lena.jpg 的图片。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值