草庐IT

c++ - 如何在 Visual Studio 2005 中使用 Manifest 文件以管理员权限运行应用程序?

我需要创建一个应用程序,该应用程序需要在"C:\ProgramFiles","Users[username]"和Sys32中创建文件/文件夹。应用程序还需要创建一些注册表项。此应用程序需要在Vista及更高版本上运行。此外,在WindowsServer2003及更高版本上。上述操作系统有用户账户控制(UAC)的概念,在哪里访问程序文件和写入注册表需要管理员权限。我查看了很多论坛,发现使用MicrosoftSDK我们可以检查当前用户是否具有管理员权限。但是对于Vista及更高版本的操作系统,“CheckTokenMembership”功能失败。我还找到了一个解决方案,可以使用list文件

c++ - 如何将解决方案从 Visual Studio 2010 降级到 Visual Studio 2005?

我有一个庞大的VisualStudio2010解决方案。我使用VisualStudio2005,因此我想将解决方案转换为所需的版本。基本上,它是一个可移植的C++代码,因此它也应该在VisualStudio2005上编译。更改*.sln文件中的版本没有帮助,因为*.vcxproj格式与旧的*.vcproj格式完全不同。由于其大小,不能手动重新创建解决方案。也可能有一些我不知道的非默认编译器标志、依赖项等(而且我无法查看所有这些我不理解的XML垃圾)。HowDoIDowngradeaC++VisualStudio2008Projectto2005上已有相关问题.但是,该实用程序建议最多支

c++ - 在 Visual Studio 2005 输出窗口中捕获 cout?

我创建了一个C++控制台应用程序,只想在VisualStudio2005IDE的输出窗口中捕获cout/cerr语句。我确定这只是我缺少的设置。谁能指出我正确的方向? 最佳答案 我终于实现了,所以想和大家分享一下:#include#include#include#include#includeusingnamespacestd;namespaceio=boost::iostreams;structDebugSink{typedefcharchar_type;typedefio::sink_tagcategory;std::vecto

c++ - 消除 MS Visual C++ 链接器警告 : "warning LNK4221"? 的最佳方法是什么

我有一个CPP源文件,它使用#if/#endif在某些版本中完全编译出来。但是,这会产生以下警告。warningLNK4221:nopublicsymbolsfound;archivememberwillbeinaccessible我正在考虑创建一个宏来生成一个实际上不会使用的虚拟变量或函数,这样这个错误就会消失,但我想确保它不会导致问题,例如在多个中使用宏导致链接器轰炸多个定义的符号的文件。消除此警告的最佳方法是什么(而不是简单地抑制链接器命令行上的警告)?FWIW,我很想知道如何通过抑制链接器命令行上的警告来做到这一点,但是我在那里的所有尝试似乎都被链接器简单地忽略了并且仍然产生错

c++ - 链接时间代码生成的优缺点是什么? (对比 2005 年)

我听说启用链接时间代码生成(/LTCG开关)对于具有大量要链接在一起的库的大型项目来说是一项重大优化。我的团队在我们解决方案的发布配置中使用它,但是长编译时间是一个真正的拖累。对没有其他文件依赖的一个文件的一次更改会触发另外45秒的“正在生成代码...”。Release肯定比Debug快得多,但我们可以通过禁用LTCG并只保留/O2来实现相同的加速。启用/LTCG是否值得? 最佳答案 很难说,因为这主要取决于你的项目——当然还有VS2005提供的LTCG的质量(我没有足够的经验来判断)。最后,你必须衡量。但是,我想知道为什么您对发布

c++ - fatal error LNK1104 : cannot open file 'libboost_system-vc90-mt-gd-1_43.lib'

新建一个项目,添加main.cpp并在这个网址写代码:http://www.boost.org/doc/libs/1_43_0/doc/html/boost_asio/example/echo/async_tcp_echo_server.cpp另外,添加了适当的包含路径。接下来是什么?!?!!构建boost代码似乎是个谜!已经挖掘了10多个小时。谁能直接回答如何在windows、VC9下用代码构建boost库? 最佳答案 您需要使用bjam。它负责创建您的应用程序将使用的库。使用bjam后,您将需要指示您的项目包含lib文件。您可以

java - Java中的Windows快捷方式(.lnk)解析器?

我目前正在使用Win32ShellFolderManager2和ShellFolder.getLinkLocation来解析Java中的Windows快捷方式。不幸的是,如果Java程序在Vista下作为服务运行,getLinkLocation,这不起作用。具体来说,我收到一个异常说明“无法获取shell文件夹ID列表”。在网上搜索确实会提到此错误消息,但总是与JFileChooser相关联。我没有使用JFileChooser,我只需要将.lnk文件解析到它的目的地。有人知道我可以使用用Java编写的.lnk文件的第3方解析器吗?我已经找到了.lnk格式的非官方文档here,但如果有人

c++ - 如何在 VS2005 中提高大型 C++ 应用程序的链接性能

我们有相当大的C++应用程序,它在VisualStudio2005中由大约60个项目组成。目前在Release模式下链接需要7分钟,我想尽量减少时间。有什么改善链接时间的技巧吗?大部分项目都编译成静态库,这使得测试更容易,因为每个项目都有一组相关的单元测试。似乎静态库的使用阻止了VS2005使用增量链接,因此即使打开了增量链接,它每次都会执行完整链接。对子项目使用DLL会有什么不同吗?我真的不想浏览所有标题并添加宏来导出符号(即使使用脚本),但如果它可以减少7分钟的链接时间,我当然会考虑。出于某种原因,从命令行使用nmake会稍微快一些,而在Linux(使用GCC)上链接相同的应用程序

c++ - fatal error LNK1104 : cannot open file 'gdi32.lib'

每次我尝试运行我的代码时都会收到此错误。我已经尝试了一切,安装了SDK,但我仍然遇到同样的错误。1>------Buildstarted:Project:ConsoleApplication6,Configuration:DebugWin32------1>LINK:fatalerrorLNK1104:cannotopenfile'gdi32.lib'==========Build:0succeeded,1failed,0up-to-date,0skipped==========我使用的是Windows7和VisualStudio2012。 最佳答案

c++ - 错误 LNK2019 未解析的外部符号 _main 在函数 "int __cdecl invoke_main(void)"(?invoke_main@@YAHXZ) 中引用

错误:SeverityCodeDescriptionProjectFileLineErrorLNK2019unresolvedexternalsymbol_mainreferencedinfunction"int__cdeclinvoke_main(void)"(?invoke_main@@YAHXZ)SeverityCodeDescriptionProjectFileLineErrorLNK11201unresolvedexternals代码:#include"windows.h"#include"tchar.h"#include"d3d9.h"#pragmacomment(lib,