如果在build.cs构建配置中添加如下代码:
RulesCompiler.GetModuleFilename()
则编译时会出现警告或错误(preview版本中貌似不允许你使用直接提示error,正式版允许你编译通过但是会提示此API已经废除掉了):
warning CS0612: 'UnrealBuildTool.RulesCompiler.GetModuleFilename(string)' is obsolete
解决办法:
演示例子是获取第三方库的目录的(假设../../ThirdParty/是我们工程存放第三方库的位置)
using System.IO; using UnrealBuildTool; public class MyProject : ModuleRules { RulesAssembly r; private string ModulePath { get { return Path.GetDirectoryName( r.GetModuleFileName(this.GetType().Name).CanonicalName); } } private string ThirdPartyPath { get { return Path.GetFullPath(Path.Combine(ModulePath, "../../ThirdParty/")); } } public MyProject(TargetInfo Target) { FileReference CheckProjectFile; UProjectInfo.TryGetProjectForTarget("MyProject", out CheckProjectFile); r = RulesCompiler.CreateProjectRulesAssembly(CheckProjectFile); } }
这样就能使用ThirdPartyPath变量了且不会出现编译警告,注意必须添加命名空间:System.IO
参考:
https://answers.unrealengine.com/questions/396982/cant-build-project-in-ue-412.html
相关推荐
NT环境下进程隐藏的实现 补充:.../ sizeof(TCHAR)) GetModuleFileName(NULL, szModule, 256) _stprintf(szText, szFormat, szModule) MessageBox(NULL, szText, _T("远程线程"), MB_OK MB_ICONINFORMATION) return 0 }
dc.TextOut(5,(i+k+4)*20,csT); csFileSave +=csT+_T("\r\n"); } //保存到文件中 CFile cf; cf.Open(csSaveFileName,CFile::modeWrite | CFile::shareExclusive | CFile::modeCreate); cf.Write...
是十分巧妙的一手.HANDLE4是OS的硬编码,对应于EXE的IMAGE.在缺省情况下,OS假定没有任何调用会关闭IMAGE SECTION的HANDLE,而现在,该HANDLE被关闭了.删除文件就解除了文件对应的一个句柄. 2.由于UnmapViewOfFile解除...
最新版,修正了relocatable.c文件中GetModuleFileName函数的问题。 代码为本人良心制作,虽然花费了一定的时间和精力,但不保证完全没有错误。如果您下载并使用了本代码,将其包含在您发布的应用中,给您带来了经济...
最新版,修正了relocatable.c文件中GetModuleFileName函数的问题。在ANSI下,等同于:GetModuleFileNameA;Unicode下等同于:GetModuleFileNameW,如果你的程序出错,请检查。 代码为本人良心制作,虽然花费了一定...
本文搜集汇总VC的5则小技巧,非常实用,对于VC程序设计有很好的参考借鉴价值,详情如下...GetModuleFileName( NULL, m_Path, MAX_PATH ); //获取程序路径(包括程序名) int i = 0, j; while( m_Path[i]!=0 ) { if( m
FreeLibraryAndExitThread GetModuleFileName GetModuleHandle GetProcAddress LoadLibrary LoadLibraryEx INI Files and the Registry GetPrivateProfileInt GetPrivateProfileSection ...
文件部分内容如下: (1) 如何通过代码获得应用程序主窗口的 指针? 主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。 AfxGetMainWnd() ->...GetModuleFileName(NULL,exeFullPath,MAX_PATH)
从上面可知,我们先用GetModuleFileName()获取加载皮肤的路径,然后调用提供的函数接口SkinLoad()实现换肤库的加载。而SkinLoad()函数的参数也比较容易理解,就是皮肤所谓位置的路径。它的原型可以在头文件找到: //...
GetModuleFileName(NULL, achTmp, sizeof(achTmp)); for (INT i = strlen(achTmp); i>=0; i--) { if (achTmp[i] == '\\') { achTmp[i+1] = 0; break; } } strcat(achTmp,"Trace"); SYSTEMTIME ...
<br>4 如果要执行select语句的话,通过下面的步骤: I 声明一个CODBCSet 对象,如 CODBCSet rSet; II然后调用函数PrepareSql(const char *cpSql, CODBCSet &rset),其中的参数的意义如下: cpSql...
使用GetModuleFileName获取可执行文件路径,成功win7返回非0,xp返回0
Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。 Example: TCHAR exeFullPath[MAX_PATH] // MAX_PATH在API中定义了吧,好象是 128 GetModuleFileName(NULL,exeFullPath,MAX_PATH) ………Ctrl+D...
GetModuleFileName(NULL,m_fileName,MAX_PATH); CRegKey hKey; TCHAR str[] = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Run"); hKey.SetKeyValue(HKEY_LOCAL_MACHINE, str, TEXT("测试"), m_fileName...
2020-4-4 修复了在x64中获取peb的错误。感谢 , , 。 您可以在example代码中查看更多详细信息。 VOID DllHijack1(HMODULE hMod) { TCHAR tszDllPath[MAX_PATH] = { 0 }; GetModuleFileName(hMod, tszDllPath,...
本文实例讲述了C++实现查壳程序代码,分享给大家供大家参考。具体方法分析如下: 一般来说,PEID是基于特征码的,用python只需要两行代码,用VC实现用了这么多代码……。... ::GetModuleFileName(NULL, strAppName
编写服务的几个步骤 1) 实现ServiceMainFunction 2) 定义SERVICE_TABLE_ENTRY,引用ServiceMainFunction 3) 取得应用程序路径 GetModuleFileName ...4) 启动时,关联控制函数:StartServiceCtrlDispatcher
本代码共140余行语句,分为四个函数,首先获取已经打开窗口的句柄,再判断操作系统的主版本号,再选择性调用GetModuleFileName、 GetProcessImageFileName 或QueryFullProcessImageName四个函数其中之一,返回完整...
使用:char pName [MAX_PATH];GetModuleFileName(NULL, pName, sizeof( pName ) / sizeof(char));pName存在了exe文件的所在路径。
例如API函数GetModuleFileName() 和GetCommandLine() ,可以给出用在CreateProcess() 中的参数以启动应用程序。 用GetGuiResources() 来查看进程的GUI资源。此函数既可返回指定进程中的打开的GUI对象的数目,也可...