1. 程式人生 > >用vs2008編寫和除錯linux程式 ----VisualGDB 使用教程

用vs2008編寫和除錯linux程式 ----VisualGDB 使用教程

一準備工作

1 準備一臺Linux機器用來編譯程式,我用的是虛擬機器安裝的CentOS網路設定成橋接模式

     (1)安裝並開啟SSH

     (2)安裝 gcc g++ gdb

     (3)關閉防火牆或者開啟允許SSH對外訪問的網路埠

2下載 VisualGDB 安裝沒什麼好說的一路next就好了,然後開啟vs2008會需要配置VisualGDB也是一路next就好了

二用vs2008建立一個的linux程式

1 新建工程,然後我們選擇【VisualGDB】的【LinuxProject Wizard】

        

2 選擇【Create a newproject】的【Application】

        

3 建立SSH 連結 選擇【Build the projectunder Linux over network】


4選擇【Remotecomputer】的 【create a new SSH】輸入Linux電腦的ip地址以及使用者名稱密碼


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

三建立和使用的靜態庫

1在剛剛的解決方案中新建工程


2 在新建專案時我們選擇【Static library】


3 一路next,我就建好了一個靜態庫檔案



4 引用靜態庫,修改上一個建立的工程

#include <iostream>
#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 建立依賴關係


6 編譯 執行

 

四使用第三方的庫 以boost庫為例

1 在Linux上下載boost 並編譯,將boost標頭檔案拷貝到/usr/include 生成的so檔案拷貝到/usr/lib 或者 /usr/lib64 (否則會編譯能通過但是執行不了)

2  vs2008上新建工程 右鍵選擇【VisualGDBProject Properties】


3 選擇Makefile settings


Include directory 第三方庫的標頭檔案

Library directory 第三方庫的庫檔案

Library directory 所需用庫檔名字(注意:比如需要使用libboost_thread.so 時,只填boost_thread)


4 coding

#include <iostream>
#include <boost/thread.hpp>
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;
}