问题标签 [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.

0 投票
1 回答
314 浏览

c++ - 错误:C2039:“指针”:不是“QJsonObject::iterator”的成员

尝试将 'QJsonObject::iterator' 与 MSVC2013 一起使用时,我遇到了一个奇怪的错误。

我有以下示例:

此代码可按预期与 MSVC2008(交叉编译到 WinCE)和 MinGW 一起编译和工作,但不能与 MSVC2013 一起使用。在所有情况下,我都使用 Qt 5.5.1。

错误信息是:

我在这里做错什么了吗,只是碰巧在其他两个编译器上工作?

0 投票
3 回答
18784 浏览

c++ - 错误 C2491:不允许定义 dllimport 函数

我在 Visual Studio 2013 上制作 dll 时遇到问题。此代码适用于 Code::Blocks。错误是definition of dllimport function not allowed" on line void DLL_EXPORT prim(map<string, vector<int>> nodes, map<pair<string, string>, pair<int, string>> edges)。如何解决?

第二个文件:

我试图修复它,但我没有更多的想法。当我将第二个文件中的 prim 函数从定义更改为声明时,dll 编译没有错误,但没有负责算法实现的代码。

感谢所有回复。

编辑:

我将临时 #define BUILD_DLL 添加到 main.h 中,然后在 Cmake 中添加,我可以工作了。感谢您的回复。

0 投票
1 回答
565 浏览

c++ - 为什么没有触发“返回对临时对象的引用”编译器警告?

考虑这个简单的代码:

它有一个错误,我很惊讶它只花了我大约 30 分钟的时间就注意到了:iterator::operator*()返回对临时对象的引用。通常它会发出警告。为什么不在这种情况下?

MSVC 2013(v120 工具集),使用/W4.

PS 这是C4172,一级警告。

0 投票
0 回答
155 浏览

c++ - 成员变量声明的 decltype 仅适用于非模板类?

我发现了一些奇怪的行为。它是按照 C++ 标准,还是 Microsoft 编译器错误?我正在使用 MSVC 2013 Update 4(v120 工具集)。

这有效:

这无法编译:

错误是:

1>Source.cpp(7):错误 C2146:语法错误:缺少 ';' 在标识符 '_currentItem'
1> Source.cpp(8) 之前:参见对正在编译的类模板实例化 'Test' 的引用 1>Source.cpp(7):错误 C4430:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数

0 投票
1 回答
265 浏览

c++11 - gcc、clang 和 msvc 之间的可变参数模板示例的不同结果 - 谁能解释一下?

我需要制作一个函数,该函数采用带有可变参数和一些固定参数的函数指针,并且无法使其在 Visual Studio 2013 上运行。我假设 Visual Studio 2013 可能缺少一些通常是案例并做了最小化的东西这个例子做了我需要的,并针对 gcc 和 clang 进行了尝试。我在所有三个编译器上得到了完全不同的结果。所以我想解决的问题是:

  1. 我的例子是否有效?如果不是我做错了什么?
  2. 如果我的例子是有效的,关于 gcc 和 clang 行为的任何提示(让我们把 msvc 算出来,因为它是一个黑盒子)?

这个例子:

使 Visual Studio 2015(无更新)崩溃的修改片段

如果invoke_foo作为对象的成员函数,Visual Studio 2015 会崩溃。

0 投票
2 回答
1914 浏览

c++ - Visual Studio 2013 VC++ 编译器

我正在使用 Visual Studio 2013 并提升 1.60。

当我尝试构建项目时,出现错误,如下所示:

boost\type_traits\common_type.hpp(42):致命错误 C1001:编译器发生内部错误。

谷歌搜索后,似乎 VC 编译器中存在一个错误,如以下链接中所述: https ://svn.boost.org/trac/boost/ticket/11885

建议的解决方案是更新 Visual Studio,这会导致更新 MSVC。

但是我把Visual Studio更新到更新5后,好像MSVC没有更新,MSVC的版本还是18.00.21005.1,应该更新到18.00.31101。因此,编译中发生的错误仍然存​​在。

有什么我错过的吗?提前感谢您的帮助。

0 投票
2 回答
1261 浏览

c++ - 在 C++ 中将 unsigned long 转换为 char* 的最佳方法是什么

我需要unsigned long通过套接字发送一些 s 。由于 anunsigned long是 4 字节,因此接收方只需要 4 字节。我写的转换函数,你会在下面找到,但前提是必须存储在 char 中的数字不大于 127 和 127。0x7F。对于更大的 0x7f 值,我希望根据扩展 ASCII 表(http://www.asciitable.com/)的字符将存储在 char 中,但这绝对不是他的情况。例如,对于 0x90,没有存储任何内容。我正在使用带有 Unicode 字符集的 VS12。

任何想法如何使转换正确?

我很抱歉代码,我没有很好地测试它并且它包含错误,请不要使用它,而是按照答案中的建议

0 投票
1 回答
357 浏览

c++ - 在 devenv.exe 中将 microsoft 编译器从 vc14 更改为 vc12

我使用 msvc12 的 vsvarsall.bat 编译大多数应用程序的命令行并设置平台。现在我有一个带有 Visual Studio 解决方案的项目,它使用 msvc14 编译。为了保持兼容性,我想用 vc12 编译。如何在 devenv.exe 中切换编译器?

0 投票
0 回答
40 浏览

c++ - MSVC 2013 无法将函数定义与声明相匹配。适用于 MSVC 2015

不确定这是否是 MSVC 2013 终极版中的错误,但它在 2015 社区中运行良好。声明:https ://github.com/dtmoodie/MetaObject/blob/master/include/MetaObject/Signals/TypedSignal.hpp

定义: https ://github.com/dtmoodie/MetaObject/blob/master/include/MetaObject/Signals/detail/TypedSignalImpl.hpp

------------- 返回值特化 ---------

-------- void 返回特化 -------------

在 2013 年出现此错误,但在 2015 年没有投诉:

[编辑] 添加了完整的示例和原始源的链接。

0 投票
1 回答
615 浏览

c++ - ITK itkImageFileReader.h 导致链接错误

我已经使用 CMAKE 和 Visual Studio 2013 构建了 ITK 4.10,但我在 QtCreator 上使用它。我已按照此链接编写 .pro 文件。它工作得很好,除了一点。当我包含 itkImageFileReader.h 时,我收到 11 个 LNK2019 错误(其他 .h 文件没有问题)。这里有一些 rapscallions:

它找不到itksys-4.10.lib(SystemTools.obj) 和(EncodingCXX.obj)。

这是 .pro 文件:

我尝试重建,但没有任何改变。你有解决这个问题的想法吗?

谢谢 !

约翰