惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Hacker News - Newest:
Hacker News - Newest: "LLM"
The Last Watchdog
The Last Watchdog
L
LINUX DO - 最新话题
Application and Cybersecurity Blog
Application and Cybersecurity Blog
T
Troy Hunt's Blog
Cloudbric
Cloudbric
N
News | PayPal Newsroom
Security Archives - TechRepublic
Security Archives - TechRepublic
TaoSecurity Blog
TaoSecurity Blog
H
Hacker News: Front Page
Help Net Security
Help Net Security
S
Secure Thoughts
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
PCI Perspectives
PCI Perspectives
AI
AI
Hacker News: Ask HN
Hacker News: Ask HN
NISL@THU
NISL@THU
Last Week in AI
Last Week in AI
Forbes - Security
Forbes - Security
The GitHub Blog
The GitHub Blog
D
DataBreaches.Net
Scott Helme
Scott Helme
Jina AI
Jina AI
T
Threatpost
W
WeLiveSecurity
P
Palo Alto Networks Blog
F
Fortinet All Blogs
腾讯CDC
人人都是产品经理
人人都是产品经理
云风的 BLOG
云风的 BLOG
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
P
Privacy International News Feed
P
Proofpoint News Feed
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
A
About on SuperTechFans
V
Vulnerabilities – Threatpost
www.infosecurity-magazine.com
www.infosecurity-magazine.com
C
Cyber Attacks, Cyber Crime and Cyber Security
B
Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Darknet – Hacking Tools, Hacker News & Cyber Security
IT之家
IT之家
美团技术团队
I
InfoQ
阮一峰的网络日志
阮一峰的网络日志
T
Threat Research - Cisco Blogs
博客园 - 司徒正美

博客园 - 千里马肝

模型数据作渲染优化时遇到的问题 vertex compression所遇到的问题 depth and distance Linear or non-linear shadow maps? 实施vertex compression所遇到的各种问题和解决办法 【转】編譯Ogre1.9 IOS Dependencies及Ogre Source步驟及相關注意事項… 画之国 Le tableau (2011) 关于H.264 x264 h264 AVC1 解决Visual Studio 2010/2012的RC4011 warnings 神片和神回复 3DS Max 2014 features revealed 【西川善司】PLAYSTATION4图形讲座(后篇) [ 【西川善司】PLAYSTATION4图形讲座(前篇) 趣文:程序员/开发人员的真实生活 【转】25 things you probably didn't know about the 3ds Max SDK [讣告]“D之食卓”等代表作制作人饭野贤治逝世 楚汉传奇 【翻译】揭晓「Agni's Philosophy」幕后的"技术编" 【PS3/XB360】DEAD OR ALIVE 5 制作采访
解决Visual Studio 2010/2012在调试时lock文件的方法
千里马肝 · 2013-09-05 · via 博客园 - 千里马肝

调试3dsmax插件,有一个避免每次修改插件代码都需要重启3dsmax的方法,就是将导出的核心代码写在一个独立的DLL中,然后在插件代码需要导出时LoadLibrary这个DLL,导出之后再FreeLibrary。这样的好处是,通过同时开启2个vs,一个是插件,另一个是DLL,当需要修改代码时,只需要重新编译DLL即可,除非有致命错误导致3dsmax崩溃。

但是从Visual Studio 2010起,VS会一直lock住相关文件,例如pdb之类的。这样将导致DLL代码在重新编译时,会出现LNK1201错误,从而无法更新DLL的pdb文件。我花了好几个小时,终于找到一个解决办法,为了让后来者不再浪费时间,下面将说明实现方法。

打开DLL的工程,在Pre-Build Event中加入以下代码:

del "$(OutDir)$(TargetName).pdb.locked.*" /q
if exist "$(OutDir)$(TargetName).pdb" move "$(OutDir)$(TargetName).pdb" "$(OutDir)$(TargetName).pdb.locked.%random%"

先跳过第一句,第二句的意思是,判断是否存在工程对应的pdf文件,如果存在,则将其重命名为"*.locked.随机数",因为只是move,所以并不影响VS的lock状态,这时重新生成pdb的操作也将成功。再回头看第一句,每次编译前,都将尝试删除所有"临时改名后的文件",打扫战场。

因为在插件运行的时段,DLL会有多次需要修改,所以每次都需要将工程的pdf文件更名为不同的新名称,所以通过%random%来确保改名操作成功。

最后,我们又回到了过去那段快乐的时光,有限的生命终于不再因为无数次重启3dsmax而浪费在无谓的等待中。