2012-11-10 80 views
2

所以這幾乎是我想要做的......我最近開始使用Sublime text 2作爲我的新編號1編輯器。 我也想開始編程directX,我想知道是否有方法使用崇高的text2而不是Visual Studio。如何在沒有Visual Studio的情況下對DirectX進行編程

我想的有點像......

...編程崇高文本2 ...崇高文本2 內編譯/建築......從Visual Studio調試?或者也許WinDbg?從來沒有使用它

我知道我可以只是有一個正常的VisalStudio項目設置,只需用ST2編寫代碼,但然後當我想要在崇高的文本等添加新文件時,我會遇到問題。我總是必須保持視覺工作室過濾器和項目文件最新...

我需要某種工作流程,這是有道理的:)我也想知道如果沒有更多的人那裏不喜歡Visual Studio那麼多或者像我這樣的機器資源有限。這不可能是所有的DirectX程序員都在使用Visual Studio?

+0

你的問題有點奇怪。 DirectX位如何相關?這只是一個API,你可以從你想要的任何C++編譯器中使用它。和其他語言一樣。我們可以得出結論,你只是在尋找一個好的C++命令行編譯器嗎? –

+0

您可以使用CL命令使用Visual Studio提供的命令行編譯器編譯在任何編輯器中編寫的文件。如果你不想要,你不必設置視覺工作室項目。但是我不清楚你在問什麼。 – jcoder

+0

好吧,起初我不知道如何設置visual studio提供的CL編譯器。 我提到DirectX作爲我使用的外部SDK的一個例子,我將在Visual Studio中設置所有外部包含的dirs/libraries等,也因爲它會使用WINAPI,我相信它應該是考慮何時不使用VS. 我的問題是,我找不到任何資源可能會幫助我設置這樣的「工作流」 – goTAN

回答

2

您可以使用Visual Studio或WinDBG附加到正在運行的進程。您還可以在Visual Studio或WinDBG中將任何.EXE作爲項目打開,以允許您在調試器下啓動該過程。所以你的工作流程的一部分不應該成爲一個問題。

這就是說你的工作流程中出現困難的部分是編譯/構建部分。在回顧Sublime Text 2的構建系統文檔http://sublimetext.info/docs/en/reference/build_systems.html後,似乎並沒有真正試圖提供對將多個C++源文件編譯成目標文件並將這些文件與必要的庫鏈接在一起的複雜性的支持。創建一個ST2構建系統似乎是可行的,該系統將編譯和鏈接一個C++源文件到EXE中,但這可能不足以滿足您的需求。

https://github.com/tillig/SublimeMSBuild可能是你最好的選擇,因爲它既支持編輯ST2中的msbuild文件,又實際構建它們。也就是說,它不會自動生成或更新ST2中的C++文件中的msbuild項目文件,因此您仍然必須保持msbuild項目文件爲最新版本,但是可以在ST2而不是VS中完成任務。

+0

非常感謝你,你幫了我很多。我現在可以在ST2中構建我的directX項目。現在我需要設置一個包含所有包含/ lib等的VS項目,然後我可以在ST2中進行編譯。由於這個MSBuild包附帶了一個MSbuild腳本,所以我想我也可以自己編寫自己的程序,而無需打開VS並設置項目。我也想知道在哪裏可以找到我的VS項目文件夾中的構建腳本?實際上,雖然所有這些信息都存儲在VC++項目文件中。 – goTAN

+0

不幸的是沒有太多有關MSBuild包的信息。我也不知道如何構建發佈版本。 – goTAN

+0

VC++項目文件是MSBuild文件(腳本)。 MSBuild文件使用XML格式。您需要使用ST2直接在ST2中打開.vcxproj,以便您可以在此處進行編輯。 –

0

問題很久以前有人問這個,但也許這個答案會幫助別人,這是我做的:

在這種情況下,最好是離開的Visual Studio完全關閉。你可以使用makefile來建立你的項目。您可以直接從Sublime Text運行生成文件和可執行文件。

  • 設置Project >> Add Folder to Project
  • Tools >> Build System >> Make
  • 安裝MinGW的,如果你還沒有
  • 創建的文件夾中就稱爲 'Makefile' 的文件,也可以是這個樣子:
main.exe: main.o 
    g++ -o main.exe *.o -lkernel32 -luser32 
    main.exe 
main.o: main.cpp 
    g++ -c main.cpp -o main.o 

(注意:這隻鏈接kernel32和user32,對於DirectX,如果你不知道從VisualStudio複製它們,你需要一些更多的東西。)

  • 按ctrl-B

此生成文件也自動運行可執行文件。您也可以用gdb main.exe代替行main.exe以使用大多數系統上可用的調試器(在您必須安裝的Windows上)。

+0

我和其他人一樣都是Make和GNU C的粉絲,但是你有關於如何鏈接DirectX並將其與GNU編譯器一起使用的建議嗎?因爲上面只給出了基本的WinAPI,如果我沒有記錯的話(從鏈接到'kernel32'和'user32'存根判斷) – amn

相關問題