QT中pro文件的编写实例

 ===========================================20180417============================

                编译程序过程中报找不到某个头文件中定义的#include <vector>,经查改文件为C++库的标准文件,且这个文件在同一台电脑另外的项目中是能够编译通过的,所以怀疑是pro文件写的有问题,检查了头文件的包含路径,发现和正常能够编译过的pro文件没有什么区别。但是用正常能编译项目的pro文件复制过来进行改写后问题项目也能够编译通过。

                最后发现是问题项目中SOURCE+=标签放置的位置不对,放在中间了,把他放到最后就可以正常编译过了,比较奇怪?

=========================================20180517=======================

            补充,当时这个问题造成的原因不是pro文件的问题,应该是在c中去调用c++的库和相应文件时候,编译器默认采用的是C编译器,所以出现标准头文件不能被找到的问题,c调用c++应该先对c++进行一次extern c的封装,封装后可以正常调用。

                此处附上一个正常编译通过的pro文件项目实例:

exists(../common.pri) {
include(../common.pri)
} else {
unix {
linux-* {
DEFINES+=LINUX_PLAT
}
else {
DEFINES+=UNIX_PLAT
}
}
win32 {
DEFINES+=WINDOWS_PLAT
}
}
unix{
TARGET = XXX //项目名称
TEMPLATE = lib
DESTDIR = ../../bin/lib
CONFIG += debug \
warn_on \
qt \
thread \
exceptions \
stl \
dll
QMAKE_LIBDIR += ../../bin/lib \
$$(ORACLE_HOME)/lib
LIBS += -lclntsh \
-larch
INCLUDEPATH += $$(ORACLE_HOME)/rdbms/public \
$$(PRJHOME)/src/ics/src/common \
./datashow/
!linux-*{
LIBS += -lnsl \
-lsocket
}
}
win32{
TARGET = librtdb
TEMPLATE = vclib
DESTDIR = ../../bin/lib
CONFIG += debug \
warn_on \
qt \
thread \
exceptions \
stl \
dll
QMAKE_LIBDIR += ../../bin/lib
LIBS += -larch
INCLUDEPATH += ./datashow
}
HEADERS += xxx.h \
SOURCES += XXXX.cpp \
MOC_DIR = ../../prs700u_temp/moc/librtdb
UI_DIR = ../../prs700u_temp/ui/librtdb
OBJECTS_DIR = ../../prs700u_temp/obj/librtdb

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值