草庐IT

c# - 当完整路径解析为 64 位目录时,无法从 32 位 C# 应用程序启动快捷方式 (lnk) 文件

我正在尝试从C#应用程序启动“开始”菜单中的程序,“开始”菜单中几乎所有项目都是快捷方式(lnk)文件。当使用Process.Start启动这些文件时,我发现如果lnk文件的完整路径指向C:\ProgramFiles目录,我会收到“系统找不到指定的路径”错误。我用FileSystemRedirection做了一些研究在Windows中,所以我尝试禁用它,但我仍然遇到相同的错误://disablefilesystemredirection:IntPtrptr=newIntPtr();boolisWow64FsRedirectionDisabled=Wow64DisableWow64FsR

c++ - 在 Windows 上使用 Clang 链接 SDL2 时出错 "LNK1561: entry point must be defined"

我正在尝试在Windows上使用clang来编译和链接SDL2应用程序。这样做的原因是试图让我的开发环境与其他使用OSX和XCode(使用clang编译)的团队成员保持一致。由于VisualC++编译器比clang编译器严格得多,我可能会提交不会在clang下编译的更改。我宁愿不必安装VS2015来使用实验性LLVM构建环境:(链接已删除)我已经在Windows上安装了LLVM/clang工具(不是从源代码构建的,只是从这里下载二进制文件:(链接已删除))并且可以使用clang成功构建和运行“helloworld”控制台应用程序。我想做的是拥有一个批处理文件,允许我定期构建和链接cla

c++ - "LNK1104 Cannot open file ' kernel32.lib ' "当 Windows SDK 版本设置为 15063.13 时

我在VisualStudio2017中使用C++,最近刚刚将Windows10从周年更新更新为创作者更新。无意中发现,在编译DLL项目时,会出现错误信息:LNK1104-无法打开文件“kernel32.lib”在项目属性中稍微调整了一下后,我注意到如果将WindowsSDK版本从10.0.14393.0设置为10.0.15063.0,则会出现错误消息。如果我将它设置回10.0.14393.0,我可以正常编译。我想知道为什么当WindowsSDK版本设置为Creator'sUpdate构建版本时,会抛出此错误消息,但如果设置回AnniversaryUpdate构建版本则不会?谢谢。

c++ - LNK1106 大二进制资源

我有一个相当大的.dat文件(896MB)作为BIN资源包含在我的项目中。现在我收到LNK1106链接错误(“fatalerrorLNK1106:无效文件或磁盘已满:无法查找0x382A3920”。)我在WindowsXP下使用VisualStudio2005,并尝试在具有高虚拟内存设置和大量磁盘空间的4GBRAM机器上运行。我尝试了多种不同的优化标志,但无济于事。有人知道吗?编辑:我已将其缩小到编译资源的特定大小。如果.res文件为544078588字节(约518.9MB)或更大,则会出现错误。如果它更小,它工作得很好。仍然没有解决方案,但是... 最佳答

c++ - 全新安装 Qt SDK 和 Visual C++ 2008 时出现 LNK4099 链接器警告

是否在新的Windows7计算机上进行了全新安装:VisualStudio2008SP1QtSDK1.1.4然后我在QtCreator中创建了一个新项目。我在“QtWidget项目”下选择了“QtGui应用程序”,并让它以VisualC++2008的桌面为目标,包括调试和发布(基本上是默认设置)。然后我按下Build,然后得到......qtmaind.lib(qtmain_win.obj):-1:warning:LNK4099:PDB'vc90.pdb'wasnotfoundwith'c:\QtSDK\Desktop\Qt\4.7.4\msvc2008\lib\qtmaind.lib

windows - 如何解决LNK2019 unresolved external symbol DriverEntry referenced in function GsDriverEntry?

当我编译这个项目时https://github.com/namazso/hdd_serial_spoofer我收到上面的错误信息,我该如何解决?我正在使用vs2017和wdk10。(必须在release中编译,不支持Debug模式。本项目中没有DriverEntry函数,hwid.cpp中的EntryPoint(void*ntoskrn,void*image,void*alloc)函数才是真正的入口点。)我做了很多研究,但还是没能成功。我是内核模式驱动程序开发的菜鸟。 最佳答案 该项目使用(一个明显被忽略的)选项定义EntryPoi

c++ - Windows (.lnk) 快捷方式 API?

是否有任何函数可以让您在Windows中创建快捷方式,就像在Linux中创建符号链接(symboliclink)一样?我希望能够编辑诸如目标和名称之类的内容,而不是每次由于更新而想要更改某些内容时都必须重新创建一个全新的快捷方式。我尝试在文本编辑器中打开一个.lnk文件,它是一大堆傻瓜。我想知道为什么它是半二进制的,因为Linux上的快捷方式就像一个.ini文件,简单易用。我担心如果我去浏览数据,我可能会打乱某种校验和并且快捷方式将不起作用,所以这就是为什么我想知道是否应该调用特定的API来修补这些对象。更新:我找到了查询快捷方式数据的函数MsiGetShortcutTarget()h

c++ - 我收到错误 "LINK : error LNK2001: unresolved external symbol _WinMainCRTStartup"

请帮忙。在VisualStudio2008上,我收到以下错误。============================================================1>Microsoft(R)WindowsResourceToObjectConverterVersion9.00.30729.011>Copyright(C)MicrosoftCorporation.Allrightsreserved.1>addingresource.type:ICON,name:1,language:0x0409,flags:0x1010,size:7441>addingresourc

c++ - 为什么在使用其他库时会出现 LNK4098 冲突 - 尝试在 MSVS2010 Express 中编译 C++ 时?

我的程序无法在/MT(多线程)模式下成功编译。它在/MD(多线程DLL)中编译。我希望能够在我将与安装程序一起分发的应用程序中同时使用libcurl和boost。编译于:MSVS2010这是复制我的问题的代码:#include"stdafx.h"#include"boost/regex.hpp"#include"curl/curl.h"int_tmain(intargc,_TCHAR*argv[]){CURL*curl;curl=curl_easy_init();return0;}这是我在/MD模式下收到的警告:LINK:warningLNK4098:defaultlib'MSVCRT

c++ - 在 Windows 10 和 Visual Studio Community 2019 下使用 boost with Bazel

我已经建立了一个简单的C++程序,它使用了boost文件系统模块。为了构建程序,我使用Bazel0.25.0。我在Windows10x64下工作。我安装了VisualStudio2019CommunityEdition并将BAZEL_VC设置为E:\ProgramFiles(x86)\MicrosoftVisualStudio\2019\Community\VC。我已经安装了MSYS2shell。这是我的文件(也可以在GitHub上找到):工作区workspace(name="BoostFilesystemDemo")load("@bazel_tools//tools/build_de