问题标签 [msvc12]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - 如何在 Qt Creator 的项目文件 (.pro) 中修改 PATH 变量
我使用 Qt Creator 3.4.2 for Windows 和 MSVC2013 编译器。当我构建项目时,我收到一个错误:
我设法通过添加来修复它
到PATH变量下
但我需要通过编辑 .pro 文件来修改 PATH 变量。这将使在另一台计算机上打开和构建我的项目变得更加容易,因为所有路径都将存储在 .pro 文件中。此解决方案不起作用:
有可能吗?
c++ - VS2013:带有浮点数和 /EHa + /fp:strict 的编译器错误?
我们刚刚从 VS2010 迁移到 VS2013,我发现了一个奇怪的错误,我想知道这可能是由于编译器造成的。
使用命令行编译cl ConsoleApplication1.cpp /EHa /fp:strict /O2
以下程序给出:
0xC0000005: Access violation reading location 0xFFFFFFFF.
这仅在编译为 32 位(不是 64 位)时发生
我在指责编译器快速吗?
c++ - 错误 MSB6006:“CL.exe”在添加模板函数或类后以代码 1 退出
先发制人地问这个问题,因为没有太多关于这个错误代码的信息。解决起来相当琐碎,但是由于没有给出适当的错误消息,因此花费了我很多时间进行诊断。
所以发生了什么事?
- 我在我的项目中添加了模板函数
- 现在当项目编译时,会弹出一条消息说
CL.exe
有问题需要关闭 - Visual Studio 中止编译
error MSB6006: "CL.exe" exited with code 1
问题是我的模板函数中的语法错误。谁能想到。
然而,这很难找到,因为这些都没有被报道。有关如何确定哪些功能有缺陷的信息,请参阅我的答案。
模板化的函数位于标头中包含的 .cpp 中,但是,在标头中完全定义它们并没有任何区别。
c++ - 尝试将 std::make_unique 声明为我的模板类的朋友时 MSVC 出错
显然,今天,MSVC 正在尽最大努力说服我改用 clang。但我不会放弃。早些时候我问过这个问题,想知道如何声明std::make_unique
为friend
我的班级。
在我的简单场景中,我得到了一个很好的答案,事实上,当我在wandbox上使用 clang 尝试它时,它编译得很好。
所以我很高兴回到 Visual Studio 2013 继续编码。我的代码的一部分是这样的:
好吧,老实说,我没想到第一次就做对了,但我相信我可以从错误消息中理解:
显然,MSVC 并不认为该std::make_unique
函数是..well..a 函数。
最糟糕的是我累了,我觉得我错过了一些非常非常非常(...)明显的东西。谁能帮我解开?
另外,任何人都可以用 Visual Studio 2015 试试这个吗?只是出于好奇。。
注意:我知道我可以(并且可能应该)只是使用return std::unique_ptr<Model>(new Model(filepath, loader, painter));
,但感觉不对。
c++ - 为什么 is_copy_constructible 在 MSVC12 中为 unique_ptr 返回 true
我本来希望这个静态断言会触发:
但事实并非如此。
使用 MSVC12 编译:
Microsoft (R) C/C++ 优化编译器版本 18.00.31101 for x64
c++ - 为什么构造函数会忽略重写的虚函数?
这是一个例子:
和使用
因此,在构造之后,无论我从课堂内部还是外部调用 stuff(),而无需明确说明 parent::stuff(),我都会得到 child::stuff(),正如预期的那样。
一个例外是仍然调用 parent::stuff() 的 parent 的构造函数,即使它是由子构造函数触发的。这真的很烦人,因为我必须在构造函数调用的函数中包含额外的逻辑,以使它们按应有的方式运行。为什么会这样?
c++ - 无法在 Windows 命令行中编译任何 Qt 项目,只能在 Qt Creator 中编译
我开始搞乱 Qt,并且在他们的 IDE 中编译项目没有问题。命令行是一个不同的故事。Qt Creator 很酷,但我需要自动化我的构建。
没有比这更简单的了:
untitled.pro内容:
source.cpp内容:
在编译输出中,它显然是这样做的:
因此,我打开 CMD.exe,然后运行以下命令:
这使得我的调试、发布、.qmake.stash、Makefile、Makefile.Debug 和 Makefile.Release 文件和目录。
接下来,我跑了:
而且我总是收到这个错误:
链接:致命错误 LNK1104:无法打开文件 'shell32.lib' jom:C:\MyProjectDir\Makefile.Debug [debug\untitled.exe] 错误 1104
我究竟做错了什么?我也给了 nmake 一个镜头,但这也没有用。我宁愿用jom。
对于这个特定的项目,它使用的是 msvc2013_64-5.5.1 pre-comp'd 安装程序
编辑:由于评论中提到了nmake,这里是nmake的错误输出:
LINK:致命错误 LNK1181:无法打开输入文件 'shell32.lib' NMAKE:致命错误 U1077:'"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\link.EXE"':返回代码' 0x49d' 停止。NMAKE:致命错误 U1077:'"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\nmake.exe"':返回代码 '0x2' 停止。
plugins - Qt Designer 使用自定义插件崩溃
创建了类似于Container Extension Example的自定义设计器插件。QDesignerCustomWidgetInterface
在对,QDesignerContainerExtension
和QExtensionFactory
classes进行一些修改后,将以下方法添加到我的容器中:
Qt 设计器从我的插件开始崩溃。有什么方法可以调试插件(扩展)并找到原因?插件以发布模式构建,具有与 Qt Designer 和 Creator 相同的 Qt 和 VS C++ 版本 - 基于 Qt 5.5.1(MSVC 2013,32 位)。
PS所以方法如下:注释掉扩展和工厂类 - 仍然崩溃,我的小部件类中的sequentaly注释/未注释方法:问题出现在
Q_PROPERTY(QString pageTitle READ pageTitle WRITE setPageTitle STORED false)
当没有可用页面时,当前页面的 pageTitle 和 setPageTitle 方法。当没有添加页面时,需要考虑在这里设置/输出什么。或者默认添加至少 1 页。
现在 Qt Designer 在将小部件添加到表单时崩溃。将继续寻找原因。
c++ - 使用 Allegro 库播放任何类型的视频文件的典型示例是什么?
我想在我的 c++ 程序中播放某种类型/格式的视频,我已经安装了 Allegro 4.2.2 和 Allegro5 以及 MSVC10 和 MSVC13,我不想使用任何其他库,因为它们有点难以理解,如果有更简单的方法,那么请告诉我,否则请告诉我如何使用 Allegro 完成此任务?
c++ - LNK2005 已经定义了在 C++ 项目中包含 C 类型头文件的错误 [MSVC12]
我在尝试将一些第三方代码集成到我的项目中时遇到了障碍。我正在尝试集成 fontstash,这是一个仅标题的 OpenGL 文本渲染解决方案。( https://github.com/memononen/fontstash ) 作为一个整体,我也在使用 SDL、GLEW、AssImp、Lua 5.3/LuaBridge 和 Bullet Physics。我已将 fontstash 头文件放在我的 vc/include 目录中。编译正常进行,但链接在巨大的墙中惨遭失败......
它似乎只是简单地迭代了通过 fontstash 头文件提供的整个函数列表。我尝试将标题包装在 extern "C" {} 中,但无济于事。我也尝试过包含项目目录中的文件。我不知道为什么会发生这种情况以及从哪里开始弄清楚是什么原因造成的。如主题标题所示,我使用的是 MSVC12/Win7,我正在为 Windows 构建并为 x86 进行编译。
此外,我不止一次地包含这些文件,因为在其他位置使用了使用 fontstash 的相关代码。我认为这是问题所在,但是 fontstash 提供的头文件具有包含保护,所以我不明白为什么会在这方面发生这种情况。