Articles of 可视化工作室

在Visual Studio 98的Visual Basic 6.0项目中设置/ TSAWARE的位置

我需要为传统的VB 6.0 activeX EXE设置/ TSAWARE标志。 我可以做到 BINEDIT /TSAWARE app.exe 在构build应用程序后,但我想应该有一种方法来在Visual Studio中的VB6项目本身中select它。 我已经看过项目属性,但没有看到任何地方设置链接器选项。 该项目是一个ActiveX组件。 这个问题提到在Visual Studio 6.0中用C ++在链接器中做这件事,但还没有看到在VB中这样做的方式,它似乎没有明确的链接设置。

如何在C ++中添加库?

Iam新的C ++,我想用VS 2013添加NLopt库到C ++。NLopt是一个非线性优化库( http://ab-initio.mit.edu/wiki/index.php/NLopt_C-plus-plus_Reference #Compiling_and_linking_your_program_to_NLopt )。 NLopt有一个DLL文件和.h文件,我无法弄清楚一个办法让他们工作。 我很感激任何人都可以给我一个关于如何导入这个库的快速指南。 先谢谢你。

将C-Strings从本地编码转换为UTF8

我正在写一个小的应用程序,我从中读取一些文本到控制台,然后存储在一个经典的字符*string。 在发生的时候,我需要将它传递给一个仅使用UTF-8编码的string的库。 由于Windows控制台使用本地编码,我需要从本地编码转换为UTF-8。 如果我没有弄错,我可以使用MultiByteToWideChar(..)编码为UTF-16,然后使用WideCharToMultiByte(..)转换为UTF-8。 但是,我不知道是否有一种方法直接从本地编码转换为UTF-8,而不使用任何外部的Libs,因为转换为wchar只是为了能够转换回char(utf-8编码,但仍然)对我来说似乎有点奇怪。

如何访问命名空间“窗口”

#include<iostream> #include<string.h> #include<Windows.h> . . . using namespace Windows::Networking::Connectivity; . . . ConnectionProfile^ internetConnectionProfile = NetworkInformation::GetInternetConnectionProfile(); . . . 以上是代码,但正在显示 error C2653: 'Windows' : is not a class or namespace name 我该怎么办? 公共语言运行时支持(/ clr)已设置

为什么_CrtSetDumpClient不工作?

我正在使用Visual Studio Express 2013 for Windows Desktop用C编写的Windows命令行程序。 当在debugging模式下编译时,我真的很喜欢我的程序检测内存泄漏,并在标准错误或标准输出上打印它们,所以它们在我的面前。 通过调用_CrtDumpMemoryLeaks ,我可以得到内存泄漏信息打印出来的Visual Studio中的debugging输出(您可以在输出窗格中find)。 基于MSDN文档,我认为我可以添加一个调用_CrtSetDumpClient为了获得访问被转储的数据,然后打印到stderr。 这里是我用来testing这个问题的代码: #define _CRTDBG_MAP_ALLOC #include <stdlib.h> #include <stdio.h> #include <crtdbg.h> void dumpClient(void * userPortion, size_t blockSize) { printf("memory leak: %d\n", blockSize); } int main(int argc, char ** argv) { printf("hello\n"); _CrtSetDumpClient(&dumpClient); malloc(44); _CrtDumpMemoryLeaks(); return 0; } 我在Visual Studio中创build了一个新的Visual C ++ Win32控制台应用程序项目,将此代码粘贴到项目中,禁用了预编译头文件,确保IDE处于debugging模式并生成。 如果我按F5(开始debugging命令)运行它,那么我可以在Visual Studio的debugging窗口中看到以下输出,这是很好的: Detected […]

在dynamic加载的dll中查找name-mangled函数

我有一套明确被devise为仅用于C ++的API。 我不希望它们被C程序(或任何其他语言)使用,因此我输出命名空间和类的信息,而不是使用extern "C"path,并使用内联的效用函数来调用plain C函数。 现在我只处理在编译时链接的dll,这意味着将函数导入到可执行文件非常容易,因为它不涉及我的工作。 不过,我打算开发一个插件系统,这将需要我在运行时dynamic加载dll。 我能使用GetProcAddress()find名称改变的C ++函数吗?

包含头文件时,path是否区分大小写?

鉴于这个目录树: src/MyLibrary/MyHeader.h src/file.cpp file.cpp: #include "mylibrary/myheader.h" … 编译file.cpp与VS一起工作,在gcc中失败。 标准说什么? 如果path区分大小写,为什么这是明智的? 什么是最好的做法,保持所有文件/文件夹名称小写,因此包括时做相同? 谢谢。

无法获取Visual Studio C ++包含文件“excpt.h”以进行安装

我试图编译Visual Studio C ++项目,我不能得到任何地方,因为编译器报告“无法打开包含文件:excpt.h”:没有这样的文件或目录“。 这个问题在互联网上被多次报道过,但是对于我的具体情况我找不到任何帮助。 问题不在于项目的包含path没有正确设置,问题是这个包含文件(可能还有一堆其他文件)只是从我的电脑中丢失。 我的硬盘上没有这样的文件。 所以我尝试安装Windows SDK 7.1。 该文件不在已安装的SDK中(尽pipe应该是)。 我试图修复安装,卸载它,重新安装…所有的时间。 我也尝试安装,修复,卸载,重新安装Visual Studio 2010专业无数的时间,有和没有安装Windows SDK。 我什至尝试卸载专业版安装快速VC ++ …似乎没有任何工作,没有'excpt.h'永远不会安装在我的电脑上。 我无能为力…有人有一个解决scheme的提示? 我在Windows 7上。 作为补充信息,请注意“excpt.h”包含在“windows.h”中。 此外,“excpt.h”文件通常安装在Windows SDK下,如“c:\ program files(x86)\ microsoft sdks \ windows \ v7.1 \ include \ “C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ include \”。 编辑:如果它可能有所帮助,我可能会添加文件夹C:\ Program Files \ Microsoft Visual […]

在Windows中strptime?

我写了这个非常好的应用程序,在Linux中运行得很好。 它使用strptime()。 Windows没有这个。 有没有一个Windows的替代呢? 我的同事需要使用这个应用程序。 (我试图用Googlesearch它已经无济于事)

在Visual Studio中创buildsqlite3.lib文件/使用sqlite3

我不能为我的代码编译生活。 我已经在所有其他计算机上运行良好,但我不得不切换到Windows机器,我试图将sqlite3添加到包含的头文件,这是一个噩梦。 我已经下载正确的文件,正确安装,在Visual Studio中find头文件,但我得到了一大堆未解决的外部。 我发现我需要自己创build.lib文件,然后我应该全部设置。 我继续尝试使用Visual Studio中包含的.def文件(我有.def,.dll,.c和.exe文件)中包含的LIB.exe,并且得到无法打开sqlite3的错误的.lib。 我是否使用了错误的命令? 我花了好几个小时来看,我相信我做得正确。 我的命令是LIB /DEF:sqlite3.def 我应该使用别的东西吗? 我没有任何目标文件,只是def文件。