2012-05-15 53 views
0

我試圖設置Windows 7 Professional SP1下的Code :: Blocks以使用遠程編譯(使用PuTTY鏈接 - > plink)一個Linux服務器,但我不太熟悉那個話題。這是我用該手冊:使用Code :: Blocks,plink和makefiles進行遠程編譯時,無法訪問環境變量

http://wiki.codeblocks.org/index.php?title=Using_Xming_for_remote_compilation

我配置代碼塊如下:


設置 - >編譯器和debugger->全局編譯器設置 - >工具鏈executabes:

Program Files-> Make program:plink.exe


項目 - >屬性 - >項目設置:

生成文件:makefile_name

[選中]這是一個自定義的生成文件

執行方向:Z:\路徑\到\桑巴\分享


項目的構建選項 - >調試 - > 「製作」 命令:

構建項目/目標:

$make -X -ssh [email protected]_server -pw my_great_password make -f $makefile -C /path/to/my/makefile

編譯單個文件:

$make -X -ssh [email protected]_server -pw my_great_password make -f $makefile -C /path/to/my/makefile $file

清潔工程/目標:

$make -X -ssh [email protected]_server -pw my_great_password make -f $makefile clean -C /path/to/my/makefile

詢問是否重建需要:

$make -X -ssh [email protected]_server -pw my_great_password make -q -f $makefile -C /path/to/my/makefile

沉默構建:

$make -X -ssh [email protected]_server -pw my_great_password make -s -f $makefile -C /path/to/my/makefile

順便說一句,做我調用編譯器/連接在Linux服務器上或代碼::塊本身編譯和linkung在Linux服務器上的源?請原諒我的無知。


我現在面臨的問題是,我無法訪問在makefile環境變量:

include $(MY_ENV_VAR)/path/to/another/makefile

我收到讓我假定,MY_ENV_VAR仍然爲空的錯誤:

/path/to/another/makefile: No such file or directory

我檢查了Code :: Blocks是否試圖解決環境問題nt變量我的Windows電腦,但事實並非如此。


其他信息:

代碼:: Blocks的版本:

Version: 10.05, Build: May 27 2010, 19:10:05 - wx2.8.10 (Windows, unicode) - 32 bit

Linux服務器:

Linux linux_server 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux

,如果需要,我可以提供更多的信息。我也歡迎其他的建議,以實現從Windows上的Linux機器遠程編譯。還是另一個更適合做遠程編譯的IDE?

感謝您的閱讀/幫助。


編輯:

我發現有類似的問題與NetBeans IDE的人:

http://forums.netbeans.org/topic37974.html

回答

0

根據this stackoverflow postthis fixunix post我能弄明白,那砰砰不執行啓動腳本,因爲它是這種情況,當你通過膩子連接。所以我意識到Code :: Blocks在我嘗試遠程編譯時遇到的困難是無辜的。

就我而言,我不得不明確地獲取登錄腳本~/.login有機會獲得我的環境變量。對於make命令,例如這意味着:

$make -X -ssh [email protected]_server -pw my_great_password "source ~/.login;make -f $makefile" -C /path/to/my/makefile 

這種方式可以遠程編譯我的軟件。要啓動這個程序,我添加了一個生成後步驟:

cmd /c "C:\Program^ Files\PuTTY\putty.exe -load my_session -pw my_great_password" 

在口令,我不得不逃脫號字符:^&(順便說一下,有很多理由使用私鑰,而不是硬編碼密碼)。這會加載存儲的PuTTY會話,該會話包含以下遠程命令:

source ~/.login;/path/to/my/application/my_application;$< 

我正在使用C shell。因此我使用$<來等待用戶輸入(輸入密鑰)。現在我可以通過點擊構建按鈕來編譯和運行我的應用程序。希望這可以幫助其他人爲遠程編譯配置Code :: Blocks。如果您遇到更多問題或想提供其他信息/建議,請留下評論。

相關問題