问题标签 [visual-c++-2005]
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# 调用 C++ 代码
可能重复:
可能从 C# 调用 C++ 代码?
我有一个问题。我有一个项目需要我从我的 VS2008 C# 代码中调用其他人用 Visual C++ 6.0 编写的代码。我想知道是否有人知道如何做到这一点。谢谢
visual-studio-2005 - R6034,但真的不知道为什么
我对微软没有问题,但他们讨厌我,这是真的。我有一个用 Visual Studio 2005 编写的应用程序,它的构建工作正常(VS2005 SP1,Win XP SP3)。但我有另一台 PC,我想在其中运行它。当我尝试启动它时出现 R6034 错误,然后我单击重试,然后错误再次出现,然后再次重试,程序启动并正常工作。我不想再次看到此错误消息。
这台电脑的操作系统是 Win 7 (64bit)。我也安装了所需的 vcredist。我已经读到我必须使用我已经完成的清单来构建我的应用程序。我已经完成了链接器一个,并且我还嵌入了一个清单。我已将 Visual Studio 库中所有需要的 DLL 及其清单文件复制到 exe 所在的文件夹中,但仍然没有。
我真的很失望,因为我几乎尝试了所有东西。请,如果有人知道我可以尝试的任何东西,请帮助我。如果您需要更多信息,请告诉我。
提前致谢!
c++ - STL lower_bound not spec compliant
The following code doesn't compile in C++Builder 2009 or in Visual C++ 2005 when the macro _HAS_ITERATOR_DEBUGGING
equals 1
but if commented out it will. It appears the lower_bound
function isn't spec compliant. The library is swapping the arguments. Here's an excerpt form the spec. value
should always be the second argument. Am I wrong?
NOTE: The test code wasn't designed to run. It was designed to illustrate the library bug.
C++ Spec excerpt
25.3.3.1.3
Returns: The furthermost iterator i in the range [first, last] such that for any iterator j in the range [first, i) the following corresponding conditions hold: *j < value or comp(*j, value) != false
Visual Studio error message
Msg: error C2664: 'double mike::operator ()(const double,const char *) const' : cannot convert parameter 1 from 'const char [1]' to 'const double'
File: c:\program files\microsoft visual studio 8\vc\include\xutility
Line No: 314
Test Code
c++ - 链接器错误 LNK1120 和 LNK2001
我讨厌这些链接器错误,知道如何摆脱它们吗?
和
.net - 在 C++ .net 中关闭上一个表单框
我正在使用 Visual C++ 2005,并且正在创建一个具有各种形式的应用程序。我想要发生的是当打开一个新表单时关闭前一个表单。我确定这只是我需要添加的一行代码,但是对于这行新手我不知道那是什么。我要关闭的表单是 Form1.h。任何帮助将非常感激。
这是我当前的代码:
c++ - VS 2005 - 命令行程序崩溃
VS 2005 开发了一个命令行程序。它处理一些文件并创建一个输出文件。有一个输入文件会导致崩溃,但仅在某些情况下。如果程序使用命令行启动(发布或调试版本),它会在处理该文件期间崩溃。但是,如果它是从 VS 2005 启动的,按 F5(调试模式),它可以正常工作,不会崩溃并且结果是正确的。有什么提示吗?谢谢。
c++ - “size_t”作为类型参数,未复制强制转换警告
我一直在尝试摆脱一些旧代码中的警告(必须使用 MSVC 2005,目前正在使用 32 位构建),但一直在努力摆脱size_t
to unsigned int
conversion 警告。我们有自己Array<T>
的增长数组的实现,它实现了一个
template<typename I> const T& at(const I i) const {return atImpl(i);}
方法。当被称为
size_t i = 10; myArray.at(i);
我收到conversion from 'size_t' to 'const unsigned int', possible loss of data
警告。一种工作理论被理解I
为unsigned int
,这导致编译器在传递到时将size_t
其转换/转换为(这将是不方便但可以接受的)。但是,我无法在最小工作示例(本文底部)和更复杂的最小示例中重现此警告。简单地转换参数以使警告消失并且足以满足我们的需要(根据合同,数字适合)unsigned int
i
at
unsigned int
unsigned int
- 我对
I
在unsigned int
这样的调用中的理解是否正确(规范说“ A typedef-name 因此是另一种类型的同义词。A typedef-name 不会引入新类型”,typeid(size_t(1)).name()
说unsigned int
并且size_t
似乎被typedef
喂了)。换句话说,最小的例子应该还是不应该给出警告?据我所知,构建配置是相同的。 - 由于我们的代码给了我们警告而最小的例子没有,所以我必须忽略一些东西。尽管付出了很多努力,但我无法弄清楚是什么。想法?
谢谢
最小的例子:
c++ - 如何与父命名空间中的模板类成为朋友?
我正在努力让我的班级成为其父命名空间中模板的朋友。有人可以解释我做错了什么:
以下是我在 MSVC8 (Visual Studio 2005) 上的尝试及其错误:
错误 C2888: a::b::x
: 符号不能在命名空间中定义c
错误 C2888: a::b::x
: 符号不能在命名空间中定义c
错误 C2039: x
: 不是a::b
我不能只包含包含的头文件,class x
因为它取决于class y
导致循环包含。
visual-c++ - LNK1112 模块机器类型“X86”与目标机器类型“x64”冲突 (VC++ 2005)
我正在尝试使用以下步骤在 Visual Studio 2005 Professional 中构建一个空白的 64 位 C++ 应用程序:
- 创建一个新的 Win32 控制台应用程序项目
- 转到配置管理器,创建 x64 类型的新解决方案平台,从 Win32 复制设置
- 保存并构建
但是,我收到此错误:
LINK : fatal error LNK1104: cannot open file 'kernel32.lib'
因此,我尝试更新库目录以指向kernel32.lib
:
- 转到项目属性、链接器、常规、附加库目录并设置“C:\Program Files\Microsoft Visual Studio 8\VC\lib\amd64”
- 保存并构建
这给了我错误:
LINK : fatal error LNK1104: cannot open file 'user32.lib'
因此,我尝试更新库目录以指向user32.lib
:
- 转到项目属性、链接器、常规、附加库目录并添加“C:\Program Files\Microsoft SDKs\Windows\v7.1\Lib\x64”
- 保存并构建
但现在我得到了错误:
.\x64\debug\stdafx.obj : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
任何想法我做错了什么?