问题标签 [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.
c++ - C++ 类声明中的限定名称
根据这个页面,类名可以是“可选的”。因此,我希望以下代码能够编译:
在 MSVC 2013u4 中,出现错误:
错误 1 错误 C2039:“globalSt”:不是“全局命名空间”的成员
我是误解了参考还是 MSVC 错误?
c++ - 使用 BJam 使用 openssl 构建 libtorrent
我正在尝试使用提供的 jamfile 构建 libtorrent ( http://www.libtorrent.org/ )。如果我尝试以香草状态构建它,一切都会顺利进行。然后我正在使用以下命令进行构建:
但是我想用似乎支持的 OpenSSL 来构建它。这是我遇到问题的地方。很可能是因为这是我第一次使用 Bjam(实际上除了 make 文件之外的任何东西)。我现在尝试运行以下命令:
现在编译器开始抱怨找不到 OpenSSL 包含文件。所以我想我必须在 JAM 文件中包含这个路径。但我不知道在哪里。我还尝试将路径添加到 Windows 中的 INCLUDE 环境变量中,但这似乎没有被 BJAM 或 msvc 拾取。有什么建议么?
templates - 链接器错误:在静态链接项目中生成 LNK2019
因此,我的团队一直在尝试实现我们自己的 shared_ptr 实现,以便我们可以再次在调试模式(VS2013)下成功测试我们的游戏项目。但是,我们遇到了以下错误列表
我们目前担心的主要问题是 Handle 类中运算符 bool 的 LNK2019。作为参考,这里是整个类:
我们在 .cpp 文件中没有任何 Handle 类的实现,它完全在头文件中实现。一段时间以来,我一直在寻找解决这个问题的方法,并浏览了许多关于 SO 的 LNK2019 文章,希望能找到有关此问题的任何信息……感谢您提供任何帮助或洞察可能发生的事情。我们的游戏项目有很多东西在里面,所以如果需要更多信息,我会提供。
关于项目的事情: -
静态链接,代码分布在 11 个库中。
- 使用预编译的头文件。
visual-studio - Visual Studio 类向导错误
在 MSVC 2013 中,我的班级出现 ClassWizard 启动错误。
然后它会打开,但无法识别对话框控件和消息处理程序。
该对话框使用所有标准 MFC 控件。
resource.h 中的所有资源 id 值都是唯一的。
我试图在适当的地方加上 , 等//{{AFX_DATA
标记。{{AFX_MSG
没有效果。
我试图为相同的对话框 id 生成一个新类。ClassWizard 在开始新类时给出相同的消息。
我的项目或资源文件中似乎有一些它不喜欢的东西。
有任何想法吗?有没有办法诊断这个东西?谢谢你。
templates - 静态类模板成员初始化
尝试初始化静态类模板的静态成员时遇到问题。
基本上,我认为这种方法的用处是:我有很多对象,它们当然都是相同的 Base 类型,但它们具有不同的对象类型。我只想操作这些对象,这就是我决定使用静态模板的原因,因为这些对象可以包含很多不同的类型。
但是,对于日志记录和选项传递,我想将相应的成员添加到模板中,而不必为每个派生静态类编写初始化程序。
请注意,以下代码实际上不起作用,因为涉及到一些 SDK。我只是在寻求正确的方法,而不是正确的代码。
提前致谢。:)
模板.h:
派生的.h:
派生的.cpp:
主文件
c++ - 在 C++ 中将可执行文件作为服务运行
我创建了一个Win32Console
应用程序MSVS2013
并成功编译。现在我尝试使用创建服务CreateService
并将二进制路径设置为上述生成的可执行文件的路径。虽然我能够创建服务,但我无法使用StartService
. 1053
每次都会抛出错误代码。我尝试使用sc.exe
并尝试从Services
. 显示相同的错误。我现在该如何解决?
c++ - 复制 std::string 时的 MSVC 12 std::initializer_list 错误
我正在尝试使用 MSVC 12(Visual Studio 2013,更新 4)创建一个 C++ 程序,该程序使用std::initializer_list
具有std::string
成员的结构。我似乎遇到了 MSVC 中的错误。这是一个展示问题的最小示例:
我希望这个程序能够毫无问题地编译和执行。但是,当我运行它时,最后一个断言似乎失败了。查看 Visual Studio 调试器,似乎structures.begin()->m_string == ""
.
我的程序是否格式不正确,或者这实际上是 MSVC 中的错误?这个问题是否有一些解决方法(除了不使用初始化列表)?
c++ - 使用 msvc 将 boost 库链接到 qt
我已经用这个命令安装qt-opensource-windows-x86-msvc2013_64_opengl-5.4.0.exe
和编译了: . 它适用于 Visual Studio,但是当我尝试将它与 Qt 一起使用时,我收到此错误:boost_1_58_0.zip
b2 toolset=msvc --build-type=complete stage
:-1: 错误: LNK1104: 无法打开文件'libboost_filesystem-vc120-mt-gd-1_58.lib'
这是我的 .pro 文件:
模板 = 应用程序
QT += qml 快速小部件
来源 += main.cpp \ testclass.cpp
资源 += qml.qrc
INCLUDEPATH += C:\boost
LIBS += "-LC:\boost\stage\lib\libboost_filesystem-vc120-mt-gd-1_58.lib"
#Qt Creator的代码模型中用于解析QML模块的附加导入路径 QML_IMPORT_PATH =
# 部署的默认规则。包括(部署.pri)
标题 += \ testclass.h
c++ - 类定义中方法声明前的双冒号 (::)
我有一个由第 3 方编写的课程,其中包含类似 Foo.h 的内容:
在 Foo.cpp 中,dsomething 是:
::
标题中的函数名称之前的含义是什么?当我创建一个新对象时
我无法像这样访问 dosomething 功能:
dosomething 是如何被访问的?当我在执行以下操作之前删除头文件中的 :: 时:
我可以从 Foo 类型的对象访问 dosomething。
c++ - MSVC 12 显示需要库的位置
TL;DR 是否有一个标志或其他东西会告诉 msvc 打印出哪个库/目标文件需要给定的库?
说我收到一条错误消息,例如:
我希望这是因为我没有告诉 msvc 在哪里可以找到它。但是,假设我想知道我为什么需要它?.
换句话说,假设我正在链接foo.lib
bar.lib
并且我的项目中有一堆代码。msvc 会告诉我是foo.lib
,bar.lib
还是我自己的代码需要它?