qt如何实现c程序编译运行
① 如何在QT中实现c语言中调用C++的函数
C source file的实现。
#include "obj.h"
int main(const int argc, const char **argv){
void *temp_obj = getObj(100);
printString(temp_obj);//实现C语言调用QT/C++UI界面兄埋
return (0);
}
写一个C++ source file和c source file都可以共同包含的头文件,如下所示。
#include <stdint.h>
#ifdef __cplusplus
class Obj{
public:
Obj(int32_t a=50)
~Obj();
std::string toString();
private:
int32_t k;
};
#endif
#ifdef __cplusplus
extern "C" {
#endif
void* getObj(int32_t a);
void destroyObj(void *obj);
void printString(void *obj);
#ifdef __cplusplus
}
#endif
C++ source file的实现,其中C语言函数是供迹野C source file调用的。
#include <iostream>
#include <sstream>
#include <iomanip>
#include <stdint.h>
#include "obj.h"
Obj::Obj(int32_t a){
k = a << 1;
}
Obj::~Obj(){
/* don't really need to do anything here */
/* k = 0 only for example purposes */
k = 0;
}
std::string Obj::toString(){
std::ostringstream os;
os << "Obj is currently: " << this->k <<羡州蚂 std::endl;
return os.str();
}
void* getObj(int32_t a){
Obj *out = new Obj(a);
return ((void*)out);
}
void destroyObj(void* obj){
delete (((Foo*)obj));
}
void printString(void *obj){
std::string s = ((Obj*)obj)->toString();
std::cout << s;
}
Makefile
make file的实现。
CC ?= gcc
CXX ?= g++
CFLAGS = -O0 -g
CXXFLGS = -00 -g
OBJ = main obj
OBJS = $(addsuffix .o,$(OBJ))
all:
make compile
compile:
make $(OBJS)
make objexe
fooexe: $(OBJS)
$(CXX) -o fooexe $(OBJS)
main.o: main.c
$(CC) -c -o main.o main.c
obj.o: obj.cpp
$(CXX) -c -o obj.o obj.cpp
clean:
rm -rf $(OBJS) objexe *.dSYM
② Qt 如何编译成可执行程序,像VC的静态编译,可以在脱离QT的环境中运行
qt
如何编译成可执行程序,像vc的静态编译,可以在脱离qt...
开源版本
不允许静态编译
可以将dll打包,就能再其他的机器上运行了.
榵彨廀峓朢桸潂椺壱检挰洏煠愝噐
③ Qt Creator怎么静态编译C++程序
如果你说的是Qt程序的话,静态编译就得自行从源码开始编译Qt静态库,官网预编译的版本是不包含静态库的。这个很复杂,请参考qt-everywhere-opensource 中提供的编译帮助。注意如果使用miongw的话,gcc版本最好不要是4.6.2。这个版本比较特殊,但是它是mingw官方版的最新打包版本。
如果你说的是非qt库依赖的话,有两种mingw和vs,前者有部分发行版默认去除了dll依赖,直接连接的静态库,后者非常不推荐使用静态库,毕竟它加载的是系统常用dll,基本上所有系统都是推荐安装的运行时环境,用静态库吃力不讨好。
④ qt4.5.2(200903)如何编译c/c++文件
问题不清楚
qt不是编译器,怎么敏正编译程序
什么东西提示binary not found
可能你需要mingw和必要的环桥激悔境铅御变量
mingw cygwin 里面的 gcc 是编译器
⑤ 求助大神,qt5.5.1如何编译c语言
new project->Non-Qt project ->Plain C Application 记得E文路径
⑥ QT与C程序的调用
肯定是3简单啊!qt不就是基于c的语言吗?都谈不上混合编程,普通的c程序用qmake一样编译
⑦ qt纯c代码运行窗口如何调出
可以直接创建带有窗口的程序。
新建项目后选择成Console程序后发现编译器中报错,就需引入头文件来实现读取数据。这样就能将运行窗口调出。
要先了解Qt的规则,再使用纯C代码运行。
⑧ Qt 中可以直接编译objective-c代码吗 如果能如何做 如果不能,为什么
不能 目前能编译objective-c的好像只有xcode
⑨ QT 5.5.0 怎么设置才能实现静态编译
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的头文
⑩ qt要如何直接运行一个c++的例程,是否要建立一个项目
x需要建立一个C++的工程项目,然后把你之前工程里面的文件都拷贝过来,编译运行即可。