Linux程序如何用vs转化,用vs2008编写和调试linux程序

一准备工作

1 准备一台Linux机器用来编译程序,我用的是虚拟机安装的CentOS网络设置成桥接模式

(1)安装并开启SSH

(2)安装 gcc g++ gdb

(3)关闭防火墙或者开启允许SSH对外访问的网络端口

2下载 VisualGDB 安装没什么好说的一路next就好了,然后打开vs2008会需要配置VisualGDB也是一路next就好了

二用vs2008建立一个的linux程序

1 新建工程,然后我们选择【VisualGDB】的【LinuxProject Wizard】

cfabc10e103123a3a80c51428af5cd91.png

2 选择【Create a newproject】的【Application】

dd9f4905e785e8a2eeb7a70de755dc26.png

3 建立SSH 链接 选择【Build the projectunder Linux over network】

fffde7787b46c0e93d97986417cdad39.png

4选择【Remotecomputer】的 【create a new SSH】输入Linux电脑的ip地址以及用户名密码

b5c1ad2cd0741e64913249e017261ea6.png

5 接下去 next就好了 一个Linux工程就建好了

b214f815f1d21636ab22c164fb812469.png

68f61e533671db6d71f9a752d7d4b15b.png

341db97d7506d01f8aba25a5322f93a7.png

三创建和使用的静态库

1在刚刚的解决方案中新建工程

ccda00e17986a6ac47bdc2a91490623c.png

2 在新建项目时我们选择【Static library】

1e25ec7ba43987896ee6fa398bf1dceb.png

3 一路next,我就建好了一个静态库文件

549b3510ae9066f058c3a9ad2f3ae35b.png

4a7ff8312fede98b990630424331f72b.png

4 引用静态库,修改上一个建立的工程

#include

#include "../Linux_static/Linux_static.h"

using namespace std;

int main(int argc, char *argv[])

{

char sz[] = "Hello, World!\n";//Hover mouse over "sz" while debugging to see its contents

cout << "static library method :" << Linux_staticTest() << endl;

cout << sz << endl;//<================= Put a breakpoint here

return 0;

}

5 建立依赖关系

3857a5a1d77e869d8169df4312b21843.png

6 编译 运行

ba0dedebeae5fb719d187b67c765a849.png

四使用第三方的库 以boost库为例

1 在Linux上下载boost 并编译,将boost头文件拷贝到/usr/include 生成的so文件拷贝到/usr/lib 或者 /usr/lib64 (否则会编译能通过但是运行不了)

2  vs2008上新建工程 右键选择【VisualGDBProject Properties】

594766863cd2c1da280995bec4f2884d.png

3 选择Makefile settings

a61248cbdfc926ccf0c4d03a808fa3a4.png

Include directory 第三方库的头文件

Library directory 第三方库的库文件

Library directory 所需用库文件名字(注意:比如需要使用libboost_thread.so 时,只填boost_thread)

3c719f4f2c78cb7f66aed2558e90c4d3.png

4 coding

#include

#include

using namespace std;

void func(){

cout << "this is a thread !" << endl;

}

int main(int argc, char *argv[])

{

boost::thread th1(func);

th1.join();

char sz[] = "Hello, World!\n";//Hover mouse over "sz" while debugging to see its contents

cout << sz << endl;//<================= Put a breakpoint here

return 0;

}

fef34e94f1115bdf1ff54bcc2ffe76d7.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值