A. qt編譯問題
QT默認安裝後 在options 下有 QT4 選項 有QT versions 需要設置下QT的目錄
QT的編譯採用MinGW的編譯器(開源版)MinGW是GCC的Win移植版.
Could not find make command: mingw32-make.exe in the build environment 意思是找不到MinGW的make工具,請將MinGW的bin目錄加入系統的path變數中,在options中有調試器(debug)中選擇mingw調試器gdb的位置
(位於MinGw bin目錄下)
B. QT:怎麼編譯helloworld.cpp
你實際上已經編譯鏈接通過了,因為qttest.exe已經生成了,對,dll的那個錯誤就是加個環境變數,加好了理論上就應該可以運行了
mingw32-make就是你要用的make,也就是我們說的編譯器,mingw32-make的話就是mingw編譯器,如果你想用gcc或者vc的話就要用與之對應的編譯器,vc命令行的話應該是vc安裝目錄bin下的nmake
C. Qt Creater怎麼編譯出靜態連接的程序
Qt默認的編譯方式是動態編譯的,但是有時候編寫的程序要發布出去,帶很多動態庫文件是很繁瑣的,此時就需要靜態編譯程序,Qt要實現靜態編譯必須庫文件也是靜態編譯的,可以用這個命令編譯靜態庫:
1.將C:\Qt\2010.05\qt\mkspecs\win32-g++\qmake.conf文件中的QMAKE_LFLAGS = -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
改為
QMAKE_LFLAGS = -static -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc
2.在開始菜單里找到Qt Command Prompt並運行,輸入命令: configure -static -debug-and-release -no-exceptions -L "C:\Qt\2010.05\qt\include" -L "C:\Qt\2010.05\qt\lib"
-L指定一下路徑,防止用到vc的頭文件
選擇開源:O;選擇license:y;
3.上一條命令運行成功後再輸入命令: mingw32-make sub-src
等1 ~3 小時可能就運行完了 完成後就可以了。
D. qt5.5怎麼編譯 vs2013調試
1、VS2013
這個不消我不多說,微軟有名的集成開發環境,凡是編過程的朋友都知道怎麼下載安裝。
2、qt5.5.1安裝包
包含相應的Qt庫和Qt集成開發環境(即QtCreater)。
3、qt vs插件
為了幫助在VS中創建Qt項目,並對其進行調試編譯。
注意,由於目前Qt已經分為多個版本,有些商業版本需要向開發者收費,而另一些開源版則是免費提供,故而在下載前,會有好幾個問題讓大家回答。由於某些朋友英文學得不是太好,在接下來的步驟中,我會一一向大家解釋回答的要領。
下載方法:
首先,打開如圖所示的網址,下載相應的Qt安裝包。在下載界面,第一個問題是讓你選擇下載的Qt版本,由於我們需要下載的是免費版本,故而在此選擇社區版。
注意,商業版是要收費的,價格我猜大多數初學編程的人都難以承受。
第二個問題是你想使你的產品受到保護嗎。也就是,代碼保密,不開源。如果代碼不開源,那就是商業版的范疇,因此我們在此選擇不。
第三個問題是程序如何鏈接到Qt庫,在此選擇靜態鏈接,這樣生成的程序體積會大點。不然,寫一個程序就讓程序帶著Qt庫文件到處跑,確定蠻煩人的。
5
第四個問題是你准備讓你的程序代碼開源嗎?選擇是。雖然一百個不願意開源,可是不開源就要出錢買商業版,沒辦法。
E. 如何用qt在linux中編寫並使用動態鏈接庫
先寫好實現動態鏈接庫的libmy.cpp文件和libmy.h文件,如下:
// libmy.cpp
#include"libmy.h"
#include<iostream>
using namespace std;
MyLib::MyLib()
{
}
MyLib::~MyLib()
{
}
void MyLib::hello()
{
cout << "hello world~!" << endl;
}
// libmy.h文件
#ifndef LIBMY_H
#define LIBMY_H
class MyLib
{
public:
MyLib();
~MyLib();
void hello();
};
#endif /*LIBMY_H*/
然後寫好pro文件,如下:
TEMPLATE = lib
TARGET =DllTest
HEADERS += libmy.h
SOURCES += libmy.cpp
保存關閉,文件名命名為MyDll.pro
在Shell里執行qmake MyDll.pro,在沒有錯誤的情況下,然後執行make ,可以看到生成了幾個後綴名為so的文件,如下圖:
F. 請哪位來解釋一下Qt靜態編譯和動態編譯的區別
靜態編譯與動態編譯的區別:
1、動態編譯的可執行文件需要附帶一個的動態鏈接庫,在執行時,需要調用其對應動態鏈接庫中的命令。
所以其優點一方面是縮小了執行文件本身的體積,另一方面是加快了編譯速度,節省了系統資源。
缺點一是哪怕是很簡單的程序,只用到了鏈接庫中的一兩條命令,也需要附帶一個相對龐大的鏈接庫;二是如果其他計算機上沒有安裝對應的運行庫,則用動態編譯的可執行文件就不能運行。
G. windows下qt怎麼編譯靜態鏈接庫
一般分為動態庫和靜態庫,方法分別如下: 一. 靜態庫的生成 1. 測試目錄: lib 2. 源碼文件名: mywindow.h, mywindow.cpp 3. 編寫項目文件: mywindow.pro 注意兩點: TEMPLATE = lib CONFIG += staticlib 4. 生成Makefile: qmake mywindow.pro
H. windows下qt怎麼編譯靜態鏈接庫
1. 安裝Qt,全部勾選安裝. qt-opensource-windows-x86-mingw530-5.8.0.exe
2. 安裝Perl, 下載地址:https://www.activestate.com/activeperl/downloads
安裝目錄:D:\ProgramFiles\Perl64
環境變數安裝過程自動添加的,如果沒有添加,手動添加:
D:\ProgramFiles\Perl64\site\bin;
D:\ProgramFiles\Perl64\bin;
I. qt msvc編譯器如何直接導入鏈接庫和頭文件
在A.h里include了B.h,如果別的地方include了A.h,那麼別的地方也就同時include了B.h。如果你希望別的地方只include文件A.h,而不include文件B.h,那麼就需要在A.cpp里include文件B.h了,在A.h里使用前導向聲明一下B.h裡面的類就行了