當前位置:首頁 » 編程軟體 » qt編譯運行不了c程序

qt編譯運行不了c程序

發布時間: 2022-09-09 17:59:13

❶ Qt 編譯好的 可執行文件 不能運行是怎麼回事

缺少動態鏈接庫,你的qt是動態編譯的,根據提示上你qt的安裝目錄上考到你的exe文件夾

❷ qt編譯後運行錯誤 出現應用程序無法正常啟動(0Xc0150002).請單擊「確定」關閉應用程序.

代碼有問題

❸ cmake + Qt 5 編譯出錯,請幫忙看看怎麼解決

Qt在編譯時,需要首先使用uic.exe編譯UI文件,通過moc.exe處理Q_OBJECT之類的宏,當然你可以去掉這些定義,否則就需要加上:

# COMPILE UIs
SET(UIS
mnwindow
)

FOREACH (ui_file ${UIS})
SET(TMP_IN "${PROJECT_SOURCE_DIR}/res/${ui_file}.ui")
SET(TMP_OUT "${PROJECT_BINARY_DIR}/ui_${ui_file}.h")
EXECUTE_PROCESS(COMMAND ${QT_FOLDER}/bin/uic.exe -o ${TMP_OUT} ${TMP_IN})
MESSAGE(STATUS "EXEC=${QT_FOLDER}/bin/uic.exe -o ${PROJECT_BINARY_DIR}/ui_${ui_file}.h ${PROJECT_SOURCE_DIR}/res/${ui_file}.ui")
ENDFOREACH(ui_file)

# CREATE MOC
SET(HEADERS
mainwindow
)

FOREACH (header_file ${HEADERS})
SET(TMP_IN "${PROJECT_SOURCE_DIR}/inc/${header_file}.h")
SET(TMP_OUT "${PROJECT_BINARY_DIR}/moc_${header_file}.cpp")
EXECUTE_PROCESS(COMMAND ${QT_FOLDER}/bin/moc.exe -o ${TMP_OUT} ${TMP_IN})
SET(MOCS ${MOCS} ${PROJECT_BINARY_DIR}/moc_${header_file}.cpp)
MESSAGE(STATUS "EXEC=${QT_FOLDER}/bin/moc.exe -o ${PROJECT_BINARY_DIR}/moc_${header_file}.cpp ${PROJECT_SOURCE_DIR}/inc/${header_file}.h")
ENDFOREACH(header_file)

free c#.net qr creator
這里要注意的是:EXECUTE_PROCESS在COMMAND後面不能加引號,命令直接寫,否則執行的程序也不會出錯,但也不會正常運行.

❹ Qt編程遇到的問題,我在qt中直接使用C語言的程序片段,有問題 ,求解

改成C++肯定是可以的~,至於C,還真沒在QT裡面寫過~

❺ 為什麼我的qt編譯程序時不報錯也不運行

首先確定的環境有搭建好!然後確定你編譯的程序不是arm的給
開發板
用的,而是X86平台的!最後就是你的系統有問題了!

❻ 用QT編寫出程序,不能運行,修改環境變數後也不能運行,提示Qtcored4.dill,求大蝦幫

把缺少的dll拷貝到應用程序目錄或者把qt的bin目錄添加到環境變數的path中。

❼ 哪位大神知道QT應用程序正常初始化失敗0xc0150002這個錯誤 直接打開QT編譯生成好的可執行程序就出現問題

應用程序正常初始化錯誤
1. VC2003、VC2005、VC2008及其後續版本,對底層最基本的CRT、MFC、ATL庫都進行了重構,為了避免不同版本的庫引起沖突,重構後的庫文件一般放在 C:\\windows\WinSxS 文件夾中,並用特定的文件夾\文件名稱進行標識;

2. 與VC6不同, VC2003、VC2005、VC2008及其後續版本,引入了manifest清單的概念,即應用程序編譯後會同時生成對應的.manifest文件,並將該.manifest文件作為資源編譯到dll或者exe中去。.manifest文件實際上是一個XML格式的文本文件,裡面記錄了dll或exe中要引用的CRT、MFC、ATL庫的版本和名稱。VC6編譯的應用程序對CRT、MFC、ATL的dll都是直接調用,而VC2003、VC2005、VC2008編譯的程序都是先查詢編譯到資源中的manifest中的記錄,然後按照記錄提供的版本和名稱去搜尋對應的CRT、MFC、ATL庫以及隨庫發布的.manifest文件,搜尋的路徑包括當前目錄、C:\\windows\WinSxS 等等,如果沒有找到對應的庫文件,則提示「應用程序正常初始化失敗」;

3.因此解決這個問題的辦法就是:(a)用文本編輯器打開exe或dll對應的.manifest文件,查看它引用的CRT、MFC、ATL庫的版本;或者,用UltraEdit直接打開exe或者dll,從資源區中找到編譯進去的.manifest信息,找到它引用的CRT、MFC、ATL庫的版本;或者,運行程序,當程序彈出「應用程序正常初始化失敗」對話框時,在桌面上右鍵點擊「我的電腦」-「管理」-「事件查看器」-「系統」,雙擊查看其中的記錄,可以看到出錯的原因是因為缺少了某某版本的CRT、MFC、ATL庫,記錄下這個版本信息;(b)記錄到的庫的版本信息一般類似於「Microsoft.VC90.DebugCRT」,之後到C:\\windows\WinSxS 或者VC200X的安裝文件夾中搜索包含這個字元串的文件夾和文件,將搜索到的dll和.manifest文件都拷貝到應用程序所在的文件夾中,其中,.manifest文件必須重命名為「Microsoft.VC90.DebugCRT.manifest」(這里以Microsoft.VC90.DebugCRT為例),這樣應用程序就可以正常運行了;(c)注意:庫的.manifest文件和dll要一同拷貝到應用程序根目錄去,因為應用程序會將編譯到內部的manifest信息與外部的.manifest文件進行對比,之後才會對庫的dll進行調用。如果只拷貝庫的dll文件是沒有用的;

4.如果本機編譯和運行程序都ok,但是將編譯好的程序拿到其它機器上確無法運行,則多半也是這個原因。另外,如果提示"應用程序配置不正確",大多也是因為上面所說的CRT、MFC、ATL庫版本與應用程序不匹配導致的,可以如法炮製進行解決;

❽ Qt 編譯不了,怎麼解決啊,'cl' 不是內部或外部命令,也不是可運行的程序 或批處理文件。

沒裝 Visual Studio 自然用不了 cl 編譯器。

  • 如果確定裝了 Visual Studio ,就手動設置編譯器選項,選擇正確的路徑

  • 如果真的沒裝 Visual Studio ,也沒必要裝(畢竟 Visual Studio 體積不小),mingw-w64體積小得多,而編譯器的優化能力甚至更出色(下載地址: http://sourceforge.net/projects/mingw-w64/ )

❾ qt 為什麼可以編譯.cpp後綴的C++文件 而無法編譯.c文件

哈!!哈哈,,不是說QT不支持*.c文件,肯定是支持的,既然是*.c文件也就是說默認該文件編譯時使用C編譯器,但是C在語法上和C++還是有一點區別的!就比如說,C中就沒有什麼名稱空間所以namespace可定他就不認識了,因為namespace只是C++中的關鍵字,而非C中!要想編譯的話得把該文件中所有使用了C++語法的東西改動一下,應該就OK啦!!最後祝樓主早日解決這個問題...............

熱點內容
安卓默認軟體什麼意思 發布:2025-03-30 08:34:49 瀏覽:39
mysql源碼安裝cmake 發布:2025-03-30 08:34:09 瀏覽:73
歐曼車5系和6系同等配置哪個好 發布:2025-03-30 08:31:16 瀏覽:46
安卓到蘋果如何快速玩轉 發布:2025-03-30 08:11:54 瀏覽:947
微博怎麼改密碼啊 發布:2025-03-30 08:10:30 瀏覽:785
蘋果airpods和安卓手機怎麼連接 發布:2025-03-30 08:09:33 瀏覽:152
jdk17安裝linux 發布:2025-03-30 07:46:55 瀏覽:584
qq正在登錄伺服器怎麼辦 發布:2025-03-30 07:35:41 瀏覽:960
如何關閉手機usb存儲 發布:2025-03-30 07:35:39 瀏覽:81
c語言清除緩沖區 發布:2025-03-30 07:31:37 瀏覽:883