ACE在VS2005和linux编译

1 下载ACE http://download.dre.vanderbilt.edu/ 下载ACE-6.0.5.zip,解压到到E:\learn\GNU_source\目录下,生产一个文件夹E:\learn\GNU_source\ACE_wrappers\

2 在ACE_wrappers\ace目录下面生产一个config.h文件

添加如下

#define ACE_HAS_STANDARD_CPP_LIBRARY 1
#include "ace/config-win32.h"

3 打开 ACE_wrappers下的ACE_vc8.sln工程,编译debug版本的ace工程

4 VS2005的配置

头文件路径

E:\learn\GNU_source\ACE_wrappers\

库路径:

E:\learn\GNU_source\ACE_wrappers\lib

5 例子

注意 main 要使用 带参数的main 否则会出现链接错误

参考http://www.cppblog.com/fwxjj/archive/2007/08/18/30324.html 资料,这里做一个备忘。。。

二:

在linux下边有

1 下载 ACE-6.0.1.tar.gz

2 编译安装

tar zxvf ACE-6.0.0.tar.gz
cd ACE_wrappers
mkdir build
cd build
../configure --enable-static
make
make install

解决方法是手工加入静态库的链接地址,google的结果如下:
分别找到examples/IPC_SAP/SSL_SAP/Makefile和tests/SSL/Makefile 以及tests/下的makefile文件,在里面找到"LIBS = -lrt -ldl" 这一项,将其修改为:
LIBS = -lrt -ldl /usr/lib/libssl.so /usr/lib/libcrypto.so
上面两个.a静态库的路径以实际存放的路径为准

3 检查 安装的文件

库文件:/usr/local/lib/libACE***.a /usr/local/lib/libACE***.so
头文件:/usr/local/include/ace/*.h

 4 测试


#include "ace/ACE.h"
#include "ace/OS_NS_stdio.h"
#include <iostream>
using namespace std;
int main (int argc, char *argv[])
{
    char msg[100] = {0};
    ACE_OS::sprintf(msg, "hello %s ", "world");
    cout << msg << endl;
    return 0;
}
g++ -g -o hello hello.cpp -lACE
或者 g++ -g -o hello hello.cpp /usr/local/lib/libACE.a -lpthread -ldl -lrt
注意:刚刚编译完,ldd看hello也许会报:libACE-6.0.0.so => not found
root权限下编辑/etc/ld.so.conf,添加/usr/local/lib 然后执行 /sbin/ldconfig即可。
如果已经有了路径,直接ldconfig一下就行。

另外一个安装的途径,下载一个full版本的ACE ,参照官网的要求 编译即可,记录一下我自己的安装方法

解压 tar -zxvf ACE.tar.gz
[yuj@localhost ACE_wrappers]$ export ACE_ROOT=/home/yuj/server/ACE_wrappers
[yuj@localhost ACE_wrappers]$ vi ace/config.h
#include "ace/config-linux.h"
[yuj@localhost ACE_wrappers]$ vi include/makeinclude/platform_macros.GNU
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
INSTALL_PREFIX = /usr/local/ACE
[yuj@localhost ACE_wrappers]$ export LD_LIBRARY_PATH=$ACE_ROOT/lib:$LD_LIBRARY_PATH



请参考

http://blog.csdn.net/sunny3106/article/details/7284172

你可能感兴趣的:(linux,Google,测试,library,makefile)