解决:在VS配置,生成MOC.cpp文件,解决link。。。unsolved meta问题

Qt Visual Studio生成moc文件 Visual Studio 转换moc文件 阅读详情

在VS中设置,这样每次编译自动生成:

1. 在solution explorer窗口中, 右击要生成moc文件的头文件, 选择"Properties";

2. 弹出的窗口左边,"Configuration Properties"下面点击"General", 将右边第二行的Item Type后面内容改成"Custom Build Tool";

3. 这时候左边会新出现一栏"Custom Build Tool", 改变右边的相应选项即可. 

下面是我程序的设置, 注意蓝色内容要一致, 其实和本文上面命令行手动生成原理一致, 内容是相对应的.

Command Line                "$(QTDIR)\bin\moc.exe"  "%(FullPath)" -o "$(Configuration)\moc_%(Filename).cpp"

Description                       Moc%27ing 头文件名字.h...

Outputs                           $(Configuration)\moc_%(Filename).cpp 

Additional Dependencies  $(QTDIR)\bin\moc.exe 

                                       %(FullPath)

最后在Generated Files 相应的版本下添加moc_xxxx.cpp,这样就在编译过程中把这个文件链接到最终生成文件中。这个在生成静态库.lib中就会链接到.lib中,当客户代码调用该.lib就不会出现unsolved meta ... 问题

vs 编译时不断出现该文件已在源编辑器之外被修改弹窗 在菜单“工具–选项”,弹出设置,选择"环境-文档"勾选那个"自动加载更改(如果已保存)"就可以了。 阅读详情

相关推荐

使用MOC处理CPP文件

在这个示例中,我们创建了一个MyObject对象,并通过信号和槽机制连接它的信号mySignal到应用程序的槽quit()。main.cpp是我们的应用程序主文件,而MyObject.h是一个包含Qt特定宏的头文件。通过使用MOC处理MyObject.h并生成相应的源文件,我们可以利用元对象系统的强大功能,实现信号和槽的通信机制。这将使用MOC处理MyObject.h,并生成名为moc_MyObject.cpp的源文件。现在,我们可以在我们的应用程序中包含这个源文件,以便使用生成的元对象代码。

HackDyno的博客 445

在VS中如何生成moc文件

一、什么时候需要生成moc文件 当我们在test.h中使用Q_OBJECT宏定义时,需要使用Qt提供的moc.exe将test.h编译为moc_test.cpp,当编译为moc后,一般还需要在test.cpp中末尾处,添加一句#include "moc_test.cpp" 二、怎样生成moc文件 利用Qt安装目录下的moc.exe,比如:D:\Qt\Qt5.13.0\5.13.0\msvc2017_64\bin\moc.exe,即可生成moc。 生成命令: moc.exe test.h -o moc_tes

百里杨的博客 9079

海康工业相机BayerRG8转BGR8实战:手把手教你用OpenCV实现高效图像转换

本文详细解析了海康工业相机BayerRG8格式到BGR8格式的高效转换实战。针对工业视觉项目中高帧率、大分辨率场景下的性能瓶颈,文章对比了海康SDK原生方案与OpenCV多种转换方法的优劣,并提供了从基础实现到高级优化(如多线程流水线、内存管理、SIMD指令集应用)的完整代码示例与性能调优策略,帮助开发者构建稳定、高效的图像处理系统。

weixin_29237635的博客 524

vs2010中moc文件生成方法(含有截图)

Qt 程序在交由标准编译器编译之前,先要使用 moc 分析C++ 源文件。如果它发现在一个头文件中包含了宏 Q_OBJECT,则会生成另外一个 C++ 源文件。这个源文件中包含了Q_OBJECT 宏的实现代码。这个新的文件名字将会是原文件名前面加上 moc_构成。这个新的文件同样将进入编译系统,最终被链接到二进制代码中去。因此我们可以知道,这个新的文件不是“替换”掉旧的文件,而是与原文件一起参与编

不知道要什么,便什么都想要,最后什么都要不到 3621

合成孔径雷达(SAR)的常见工作模式

随着星载SAR技术研究的深入发展,单一的条带模式已经无法满足当今时代的需求,因此许多新的工作模式相继被提出。这些新模式在分辨率和测绘宽度等方面都有所提高,接下来将简要介绍几种常用的工作模式。

m0_51390495的博客 2315

UE5导入MetaHuman虚拟头像后,连接live link face,面部表情捕捉出错修正

UE5 利用live link face 驱动meta human面部表情捕捉

m0_53122690的博客 6595

qt+vs2013工程,moc路径设置

工程配置中,force include项中填入源文件所在地址。

qq_18498187的博客 335

保姆级教程:用Java和HslCommunication库搞定三菱PLC数据读写(附完整代码)

本文提供了一份详细的Java与三菱PLC通信教程,通过HslCommunication库实现高效数据读写。内容涵盖环境配置、通信模式选择、数据类型操作、异常处理及性能优化,并附有完整代码示例,帮助开发者快速掌握工业自动化中的PLC数据交互技术。

weixin_28731223的博客 228

VS2008+Qt4: uic, moc使用小记&两类Link错误的解决方案

关于在VS2008下使用Qt4,之前已有文章记录,该文章还给出了qmake的简单使用。 这里就不再重复了,有必要的话,请点击这个链接跳转到目标内容。 晕~~~外链图片看不了,点这里查看原文。 以下介绍uic与moc的使用。我们以一个对话框例子为依托,依照我自己的工作步骤来讲述。 1、首先,打开Qt Designer (Qt设计师),然后新建一个无按钮的对话框

B0tt3rf1y 1989

交通流预测爬坑记(一):交通流数据集,原始数据

常用的交通流数据集,持续更新~~

K_first的博客 4万+

uni-app - 文本展开 / 收起折叠功能,支持自定义样式(当文本内容超出规定行数后,展开收起折叠的功能)兼容 H5 / App / 小程序且易用更容易修改的插件组件源码,超详细的示例代码及注释

uniapp实现文本的展开与收起功能,uniapp展开全部和收起,uniapp里文本的展开与收起,uniapp中文本内容超出规定行数后展开收起的处理,UNIAPP兼容h5、微信小程序多行文本展开或收起,uni-app中,文字超出隐藏并显示省略号(实现展开、收起全文),uni-app中文本过长-实现折叠与展开效果,中文本内容超出规定行数(字数)后展开收起的处理,超出部分...显示,uniapp适用于uniapp多行文本溢出显示...,多行文本展开或收起,uni-app-文本展开/收起折叠功能,支

🏆 前端领域优质创作者 5642

qt(vs2010) 手动配置moc生成规则

在中写QT项目时,有时需要。

u014094704的博客 611

STM32F103 -- LIN从机通讯 -- 程序代码 -- 详细讲解版(2万字长文)

主要代码分为3个文件,usart文件是对GPIO端口和串口Lin模式的初始化,lin_buffer文件是对串口环形缓冲区的编写,lin_driver文件是Lin从机模式驱动代码。通过这三个文件的代码便可实现STM32F103的LIN从机通讯。

晴朗luo的博客 1万+

moc 文件自动生成

在VS的解决方案管理器里面,右键需要生成moc文件的头文件-打开属性窗口; 常规-项类型,选择自定义生成工具; 关闭属性窗口重新打开,就出现了自定义生成工具选项; 自定义生成工具-常规: 命令行:"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" 输出:.\GeneratedFiles\$(ConfigurationName)\moc_%(File.

yanheriver的博客 1075

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

[QT]VS中Qt自动生成moc_XXX.cpp文件的一些问题

原创文章,欢迎转载。转载请注明:转载自 祥的博客 原文链接: 1.问题来源 2.错误LNK2001 以及解决 3.警告LNK4042 以及解决 4.反思 1.问题来源 Qt会自己先把用到Qt自己的东西编译一遍,变成标准C++编译器可以识别的东西。 moc 全称是 Meta-Object Compiler,也就是“元对象编译器”。Qt 程序在交由标准编...

祥的专栏 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

vs2010+QT 中添加mocXXX.cpp

使用命令:moc.exe db.h -o moc_db.cpp

2855

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

moc_***.cpp被手动从工程里移除以后发生的事情

1.环境:vs2013+qt插件 手动从vs里面把moc文件移除了,再重新生成项目,会报一大堆link2001的错误,如下: ***.obj:error LNK2001:无法解析的外部符号"public: virtual struct QMetaObject const* _thiscall.................... 出现bug原因如下:手动从vs里面移除moc文件以后,清理工

菜鸟进化史 3146

vs2010下的moc_XXXX.cpp文件

在Qt的vs2010下会自动生成moc_XXXX.cpp文件, 这是怎样的一种机制呢?

不知道要什么,便什么都想要,最后什么都要不到 1768

CMake构建之整理VS工程中Qt自动生成的moc文件

靠谱的解决方案:完美隐藏CMake构建带有Qt的VS工程下自动生成的moc文件,VS工程目录清爽了许多。

一无所有 3202

在vs2010下使用QT之moc的使用

在qt designer下设计出界面ui,然后通过uic生成头文件.h;之后通过C++类继承之后编写的头文件,使用moc,命令行生成.h文件。moc的主要作用是在预编译阶段取出qt化,意思就是讲C++代码中的qt代码转化成C++编译器可以懂的语言(即C++)。去个例子,我设计了一个名为a.ui的UI文件,通过uic a.ui -o gui_a.h,生成了ui对应的头文件,然后编写a.h其中的类继承

loonghun的专栏 1801

解决VS+QT无法生成moc文件的问题

当在VS工程中编写QT和C++程序时,要想不同模块之间通过QT的信号(SIGNALS)和槽(SLOT)的机制进行通信,就需要继承于QOBJECT基类,继承于QOBJECT基类的类(文件),会相应的生成一个moc文件,若没有生成moc文件,则不能使用信号和槽。 工程中moc文件在Generated Files目录下: 双击不能打开该文件,则说明工程中没有了该文件。生成方法: 1....

ahnb68916364的博客 2529

Qt moc_XXX.cpp文件的生成和探索

前面我们说过,Qt 不是使用的“标准的” C++ 语言,而是对其进行了一定程度的“扩展”。这里我们从Qt新增加的关键字就可以看出来:signals、slots 或者 emit。所以有人会觉得 Qt 的程序编译速度慢,这主要是因为在 Qt 将源代码交给标准 C++ 编译器,如 gcc 之前,需要事先将这些扩展的语法去除掉。完成这一操作的就是 moc。 moc 全称是 Meta-Object Compil...

冷漠然的博客 5662

[QT_026]Qt学习之扩展阅读:moc_*.cpp代码

Qt学习之扩展阅读:moc_*.cpp代码

kongcheng253的博客 1564

Qt 中 Q_OBJECT 宏及 moc_*.cpp文件

Qt 中 Q_OBJECT 宏及 moc_前缀文件Q_OBJECT 宏元对象系统 (Meta-Object System)了解 Q_OBJECT 宏展开 Q_OBJECT 宏MOC 预编译器MOC (Meta-Object Compiler)前缀 moc_xx.cpp文件代码示例如下MakeFile文件生成的moc文件如下==moc_whatismoc.cpp== 文件分析片段一结构体`qt_meta_stringdata_WhatIsMoc_t`片段二宏`QT_MOC_LITERAL`和`qt_meta_

超级码力Ovo的博客 3397

Qt使用导出类报错:error C2491: “LmcThreadPaddle::staticMetaObject”: 不允许 dllimport 静态数据成员 的定义

Qt使用导出类报错:error C2491: “LmcThreadPaddle::staticMetaObject”: 不允许 dllimport 静态数据成员 的定义 在使用继承自QObject带有Q_OBJECT宏的导出类时,编译报错:不允许 dllimport 静态数据成员 的定义。 原因是自动生成的moc文件带有静态函数,无法导出。 1、在Qt中的解决办法是不将导出宏定义成Q_DECL_IMPORT。 #if defined(ZMAP_LIBRARY_PRODUCTOR) # define .

《好好先生》专栏 4093
下一篇: 解决:could not find or load the Qt platform plugin “windows“
小岛阿飞
博客等级 码龄12年 5粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值