當前位置:首頁 » 編程軟體 » 無法編譯所做的編輯

無法編譯所做的編輯

發布時間: 2022-04-25 20:54:44

1. C++無法編譯

我剛開始也遇到了這個問題 看到一篇很有用的博客 分享一下

希望對你有所幫助!

2. DEV-C++無法編譯,如圖啊 急求幫助!

我剛開始也遇到了這個問題 看到一篇很有用的博客 分享一下


希望對你有所幫助!

3. window10安裝好Devc++,寫完程序,無法編譯是怎麼回事

執行「開始」→
「運行」,輸入gpedit.msc打開組策略編輯器。在左側的窗格中依次定位到「計算機配置」
→「windows
設置」→「安全設置」→「本地策略」→安裝選項,找到用戶賬戶控制:檢測應用程序安裝並提示上升,勾選啟動就可以。

4. c語言軟體Dev,vc,都無法編譯是為啥。我win10

這個最好是重新裝一下系統,然後重新做一個編輯器的話,從那個根目錄裡面把這個證書那些清除掉,然後重新裝最新的證書應該就可以了。

5. Latex 同一個文件可以用在一台電腦上正常編輯,但是到了另一台新電腦上就無法編譯

出現這個問題的原因是 :
兩台電腦上的myeclipse中的編碼格式不一致導致的, 修改方式為:
點擊windows --preferences-- general-- workspace-- 右邊找到text file encoding,下面選擇other --然後選擇UTF-8。兩台電腦的myeclipse都這么設置,
然後就可以導入了。

6. DEV-C++無法編譯是怎麼回事

我剛開始也遇到了這個問題 看到一篇很有用的博客 分享一下


希望對你有所幫助!

7. Editplus 編輯一個程序無法編譯和運行(下面具體說狀況)

請你仔細檢查一下
可能是c盤中間有空格:
C:\Users\lenovo>cd C:\Program Files
C:\Program Files>javac Hello.java
這是我剛測試的,可以編譯成class.

其次檢查一下,系統環境變數是不是可能會損壞的,classPath有沒有配置好,可能之前是好的,使用了360的強制卸載其他軟體以後,會修改classpath的值,可能會出現問題。
還有注意添加變數值的時候,原先沒有的" ;"號也要加上去。
遇到問題自己多測試,希望能幫到你。呵呵

8. 為什麼我的c語言編輯器無法編譯了

看你新建的項目,名字也沒有,什麼也沒保存只是在軟體上敲了一大堆,保存一下再編譯

9. 我在linux環境下怎麼就是編譯不成功

編譯不成功多半軟體功能開關設置及依賴關系不支持。
首先要了解編譯的過程,真正了解了編譯的過程後就可以比較輕松的編譯各種軟體了。
1、configure,可以在configure 執行一下./configure --help來大致了解一下該軟體的一些開關和支持的性能,然後根據使用需要來設置需要開啟的性能和需要關閉的性能,以及需要哪些支持庫等等,然後再指定一下編譯路徑,做完這一切後,滿屏幕的check ....就開始了,這就是configrue的過程,和所做的事情
2、make,其實這一步才是真正的編輯步驟,而configure只是做一個環境的check,檢查系統環境及lib是不是對上一步所開啟的參數支持,只有check不出錯,也就是configure不出錯,就可以比較順利的進行編譯也就是make
3、make install 安裝,當成功編譯後就可以通過make install進行安裝了,安裝完成後就可以使用了。
比較容易報錯的地方就是configure這一步,因為這一步會檢查軟體及在configure這一步的設置開關功能中需要的依賴關系,並對現行系統進行檢查,尤其是最小化安裝的系統,報錯會比較多,可根據具體報錯內容來安裝相應的安裝包來完成軟體的依賴,直到check全部通過。有些軟體在make時也需要調用一些庫,具體要看軟體的reademe來了解具體編譯要求。如果再不行,就只能網上尋求幫助了。
另外,編譯也是一個經驗活,只編譯得多了,對一些常見的錯誤就會比較了解了,必定軟體依賴的庫常見的就那幾個,建議每編譯一款軟體做一個小筆記,把處理的錯誤或遇到的情況記錄下來,這樣以後再編譯時,會事半功倍!

10. 當程序不能編譯時怎麼辦調試configure

但是,這樣行不通時怎麼辦?在本文中,Peter Seebash 講述了當自動的配置腳本失效時應該如何去做——以及作為開發者您應如何盡量避免這種錯誤。畢竟,如果您的程序無法編譯,其結果將和您的程序編譯後不能運行一樣,您的用戶會減少。
現在許多開放源代碼的程序都會附帶有 configure 腳本。這種腳本的用途之一是自動進行對目標新系統的猜測過程。在過去,程序會附帶一個 Makefile 文件,這個文件中有 6 個不同的編譯標記和選項,但只會用到一個,其餘全部注釋掉,並且會有一個註解,告訴您「為您的系統選擇合適的標記」。如果配置選項更復雜,可能還會有一個名為 config.h 的長長的 C 頭文件,其中包含一些要設置的標記,這依賴於主機系統變數。
第一個方法很簡單,在代碼中使用 #ifdef 以支持兩種系統,例如 BSD 和 System V。由於 Unix 的類型的增加,更為實用的方法是對每一個特性使用 #ifdef。每個系統的代碼如下:清單 1. 每個系統的代碼#ifdef SUNOS4 || NEXT || NETBSD || FREEBSD || OPENBSD
#include <string.h
#else#include <strings.h
#endif每個特性的代碼如下:清單 2. 每個特性的代碼#ifdef HAS_STRING_H
#include <string.h
#else#include <strings.h
#endif後者更容易適應新系統,但需要開發者進行大量的工作。由於現在有太多可能的目標系統,因此,第二種方法對用戶來說幫助很大,不僅僅是可以自動生成配置頭文件。完成這項任務的一種方法是使用 GNU autoconf 代碼來生成 configure 腳本。這個腳本會去執行必要的測試,並創建一個具有適當值的配置頭文件。
這種腳本的另一個功能是以一致的方式設置預定義的變數。用手工編輯標記一直存在一個問題,即修改了 Makefile 文件(比如將其安裝到 /usr/gnu 而不是 /usr/local 目錄下)卻忘記修改頭文件中相應的值。當然,這樣的結果是,編譯後的程序不知道到哪裡去尋找它們自己的數據文件。使用 configure 腳本的一個好處是可以自動完成一致的安裝(如果維護者做得沒錯的話)。
開發人員請注意,一個好的 configure 腳本的另一個好處在於,它會允許用戶指定一些個人偏好,例如使用 /usr/gnu 而不是 /usr/local。
這些如何成為可能?編譯,再編譯configure 的許多功能實現機制其實很簡單。為了能切身體會,您可以設計一個小測試程序,這個程序當且僅當期望的條件得到滿足時才可以編譯。將它保存在一個臨時文件中,然後嘗試編譯它。例如,假定您想知道 X Windowing System 是否安裝在 /usr/X11R6 目錄下。一種方法是做一個如下的測試程序:#include <X11/X.h
int main(void) { return 0; }現在,如果您用編譯器來嘗試進行編譯,那麼只有當 <X11/X.h 在編譯器的 include 路徑中時,編譯才會成功。因此,對每一個您認為 X 可能安裝到的目錄,可以將對應的 (directory)/include 加入到編譯器的 include 路徑中,並嘗試對程序進行編譯。如果採用某個值時示例文件可以編譯,那麼您就得到了正確的 include 路徑。
請注意在 autoconf 中已經預定義了各種測試程序。如果可能,就直接使用這些測試程序,而不用自己去寫。這樣有很多好處。首先,autoconf 的新版本會改進這些測試程序,修正它們的錯誤,否則您將不得不自己去做這些工作。其次,這樣會節省您的時間。當然,更好的方法是完全避免測試。如果您確認某一個測試是沒有必要的(例如,即使機器位元組多於 8 位也仍需要使 sizeof(char) 為 1),您可以完全不去進行這個測試。
有一些測試是功能測試;它不足以確定是否存在一個名為 memcmp() 的函數,它的語義必須正確。通常,這些測試用於只是在一兩個平台上被注意到的非常不明顯的錯誤。這些測試實際上會去運行測試程序,並檢查它的輸出。測試程序遵循標準的 Unix 習慣:如果測試通過則返回值為 0,如果失敗則返回一個非 0 值。
一旦您有了足夠的測試程序,您可以用它們來自動確定必需的編譯標記和定義,以將它們放到頭文件的某個地方。通常,configure 腳本會允許用戶給出部分或全部已知的條件,而不是讓腳本自己去猜測。
來看一個特例,假定,系統的 brokenmemmove() 出現了問題。如果您不知道它現在有一個只會影響少部分程序的 bug,您可能會編譯一個程序並將其發布為產品,而沒有意識到這樣您將會遇到偶然的災難性錯誤。
在許多情況下,一個冗長而復雜的 configure 腳本的最終結果是這樣的:目標系統提供了這個程序用到的每一個標准特性,而且它們正確工作。在這種情況下為什麼不手工去設置這些標記呢?這對開發者來說是可行的,而對眾多用戶來說就不可以了。用戶可能不會知道到他們的 Linux 版本存在特定的 bug。他們可能不知道已經安裝了哪些軟體包,或者安裝到了何處。腳本幫那些最需要幫助的人來完成大部分的例行公事的工作。當腳本出錯時,引發的額外工作的代價可能不會太大。
錯在何處?既然您已經基本上了解了 configure 都做了些什麼工作,您可以開始尋找錯誤了。有兩種可能的 configure 錯誤。一種是 configure 是正確的,而您的系統缺少必要的先決條件。絕大多數情況下,configure 腳本會正確診斷出這種錯誤。更為麻煩的情況是 configure 本身的錯誤。這樣的結果或者是不能生成配置,或者生成一個不正確的配置。
當 configure 的猜測無誤,而您缺少先決條件時,您所要做就是要滿足缺少的那些先決條件。當您找到並安裝好後,再重新運行那個報告缺少先決條件的 configure 腳本,就可以成功了。(不要忘記刪除 config.cache 文件,這個文件緩存了上一次測試的結果;您應該讓 configure 從頭開始。)如果您正在開發 configure 腳本,您需要確保您給出的錯誤消息有意義。如果您測試的是一個函數,而這個函數是一個常見的可添加的軟體包的一部分,那麼不要告訴用戶缺少的函數的名稱 —— 告訴用戶他們需要的軟體包。確保將先決條件信息寫入 README 文件中。並且,請一定要告訴人們您測試使用的其他軟體包的版本號。
閱讀文檔無論何時,當 configure 失敗時您首先要做的是運行 configure -h,並檢查參數列表。如果它找不到您確認已經安裝的庫,您可能可以指定到另一個位置來找到這個庫。您還可以禁用和啟用某些特性。例如,用於 Angband (一個 Roguelike 游戲)的 configure 腳本有一個可選的標記 —— enable-gtk,以告訴腳本在編譯時啟用 GTK 支持。如果沒有這個標記,編譯時根本不會去嘗試。
如果您的系統配置得比較奇怪,您可能不得不為 configure 腳本設置一些非常詳細的變數,而且如果是在交叉編譯,您很可能得做一些非常特別的事情。CC 是 configure 用於指定 C 編譯器的變數,通過指定 CC 的值可以解決許多問題。如果您指定了編譯器,configure 將使用那個編譯器而不用去猜測需要使用哪一個。要注意的是,這樣您可以在命令行中指定選項和標記。例如,如果您希望編譯時支持調試符號,嘗試:CC="gcc -g -O1" ./configure(這里假定您使用的是 sh 系列的 shell;在 csh 中,用 setenv 來設置環境變數 CC。)閱讀 config.log當 configure 腳本運行時,它會創建一個名為 config.log 的文件,其中記錄的是測試日誌和得到的結果。例如,一個典型的 config.log 片斷如下:清單 3. config.log 的典型內容configure:2826: checking for getpwnam in -lsun
configure:2853: gcc -o conftest -g -O2 -fno-strength-rece conftest.c -lsun &5
ld: cannot find -lsun
configure:2856: $? = 1
configure: failed program was:
(a listing of the test program follows)如果我的系統中,-lsun 應該提供 getpwnam(),我應該可以使用命令行來對其進行確切檢查,然後再使用測試程序。只需進行少量這樣的調試,我就可以根據得到的信息來修改 configure 腳本。請注意有幫助的行號;這個測試從 configure 腳本的第 2,826 行開始。(如果您是一個 shell 程序員,您可能會喜歡在閱讀 configure 腳本片斷時列印出行號;在 shell 中 $LINENO 不能自動地被擴展為合理值,腳本使用 sed 創建一個包含有行號的自身拷貝!)當一個測試失敗或者得到意外的結果時,最好先去讀一讀日誌文件。請注意,有時測試失敗僅僅是因為上一個測試的失敗,這種失敗實際上並不重要。例如,configure 可能會因為找不到一個您聞所未聞的庫而退出,而這可能是因為測試標准 C 庫中某個功能的程序失敗而導致無法找到那個庫。在這種情況下,只需要解決第一個問題,第二個問題也就不會再出現了。
一種情況是測試程序設計不正確而可能

熱點內容
scratch少兒編程課程 發布:2025-04-16 17:11:44 瀏覽:617
榮耀x10從哪裡設置密碼 發布:2025-04-16 17:11:43 瀏覽:345
java從入門到精通視頻 發布:2025-04-16 17:11:43 瀏覽:60
php微信介面教程 發布:2025-04-16 17:07:30 瀏覽:287
android實現陰影 發布:2025-04-16 16:50:08 瀏覽:779
粉筆直播課緩存 發布:2025-04-16 16:31:21 瀏覽:330
機頂盒都有什麼配置 發布:2025-04-16 16:24:37 瀏覽:193
編寫手游反編譯都需要學習什麼 發布:2025-04-16 16:19:36 瀏覽:781
proteus編譯文件位置 發布:2025-04-16 16:18:44 瀏覽:346
土壓縮的本質 發布:2025-04-16 16:13:21 瀏覽:574