新手求教,如何在VS2010环境下写linux的c++程序?

哦哈喇 发布于 2013/07/29 16:42
阅读 4K+
收藏 0

我现在情况是想用c++写一个socket的dll库,给unity3d调用,用在安卓游戏上。

现在我的开发环境都是windows的,然后用的VS2010写代码并且生成dll。但是有个问题就是我调用的都是unix的头文件,比如<sys/socket.h>,<pthread.h>等等。所以都编译通不过,也就生产不了DLL。

我想过几个解决办法:

1.把它都换成windows环境下的头文件,比如<winsock2.h>等,但是我想那样到安卓上就不能运行了吧?

2.装GCC或者cygwin,编译这个程序,但是那样就没法用vs2010生成DLL了,cygwin是不是也可以生成DLL呢?

3.而且我想写成用预定义控制,可以跨WIN和linux平台的,难道我写好编译时要分两种情况在两个平台编译?

我还是新手,好多不懂,求大神指教

加载中
0
leo108
leo108

dll本来就不是给linux用的,linux是so

当然后缀名说明不了什么问题

哦哈喇
哦哈喇
这个我知道,不过unity3d可以调用DLL给android用,好像是JNI还是NDK什么的,我也不太清楚了。。。
0
小耶果
小耶果
生命有限,别瞎折腾了,直接使用Mono中的System.Net.Socket吧.
哦哈喇
哦哈喇
恩。。我知道U3D里有这个。。。 可是公司就要求我写这个C++的库啊,说是要跨安卓和ios用。其实都已经有了java的库了,我就是根据那个改成C的。。
0
雅各宾
雅各宾

用stl/boost

0
中山野鬼
中山野鬼
修改后面的配置选项。vs系列,就是一个ide架子。后面大多数都是可配置的。靠。没仔细看你在忙什么。你这个应该叫做,如何把linux下的代码在windows下再编译使用。这个没办法,库函数整理了,甚至有些基础类型的定义,需要自己手工做到头文件里,来调整。
0
zn123
zn123

看你说的话,就知道你要学的 东西很多

 

0
侯禹
侯禹
话说,JNI没用过 ,NDK可以尝试一下哈,不过编出来的应该不叫dll.
返回顶部
顶部