2014-10-16 35 views
0

我有一個CUDA C++項目,我使用Eclipse Nsight編寫和編譯。我的目標是以包含main函數的文件結束可執行文件,然後爲項目中的每個類生成單獨的共享庫,而無需在IDE之外進行編譯。我可以通過爲每個類創建一個項目來完成這項工作,然後將它們都包含在主項目中,但是我想要一種方法將所有文件寫入單個Eclipse項目中,並最終獲得所需的工件。項目結構如下:Eclipse C++:爲特定文件設置編譯器選項

ClassA.h 
ClassA.cu 
ClassB.h 
ClassB.cu 
main.cpp 

我期待編譯該項目,並與以下項目結束:

ClassA.so 
ClassB.so 
main.exe 

理想情況下,我想知道是否有一種方式來組特定文件併爲該組文件設置編譯器選項。即

nvcc ClassA.cu -shared -fPIC -o ClassA.so 
nvcc ClassB.cu -shared -fPIC -o ClassB.so 
g++ main.cpp -lClassA.so -lClassB.so -o main.exe 

我知道這是一個不尋常的要求,但是這是一個較大的項目結構我想從emacs的土地拿來和編譯shell腳本到IDE中的世界的一部分。

+1

如果您願意構建/維護您自己的makefile,可以從makefile啓動一個nsight EE項目。實際上,Eclipse和Visual Studio(「解決方案」)中的多項目功能都是爲此設計的,因此不清楚爲什麼不使用爲此類結構設計的路徑。 – 2014-10-16 21:40:34

+0

多項目路線的作品,這是我目前正在做的,但它有點笨拙,因爲我需要每個類使用我的圖書館項目。這可能會很快失控。我認爲最好的想法是去定製makefile路線......哦,好吧。 – Acerebral 2014-10-23 17:42:32

回答

2

選項A:編寫並維護一個自定義的make文件。

選項B:創建3個項目-exe和兩個共享庫。

+0

這就是我所害怕的。這兩種選擇都不是我想要的,但我可以用這個工作。謝謝! – Acerebral 2014-10-23 17:40:44

相關問題