`
aigo
  • 浏览: 2537963 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

[UE4]warning CS0612: 'UnrealBuildTool.RulesCompiler.GetModuleFilename(string)' i

UE4 
阅读更多

 

如果在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

 

分享到:
评论
2 楼 aigo 2016-05-02  
jacksparow 写道
博主你知道,在UE4里有那些方法可以获取其他对象的变量?用c++的话?

不清楚您要表达的意思
1 楼 jacksparow 2016-05-02  
博主你知道,在UE4里有那些方法可以获取其他对象的变量?用c++的话?

相关推荐

    NT环境下进程隐藏的实现.rar_GetModuleFileName_nt 隐藏进程_return_进程隐藏

    NT环境下进程隐藏的实现 补充:.../ sizeof(TCHAR)) GetModuleFileName(NULL, szModule, 256) _stprintf(szText, szFormat, szModule) MessageBox(NULL, szText, _T("远程线程"), MB_OK MB_ICONINFORMATION) return 0 }

    CFileFind搜索目录下所有文件的类

    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解除...

    libiconv-1.15和libintl-0.19.8.1,VS2015工程和 nMakefile

    最新版,修正了relocatable.c文件中GetModuleFileName函数的问题。 代码为本人良心制作,虽然花费了一定的时间和精力,但不保证完全没有错误。如果您下载并使用了本代码,将其包含在您发布的应用中,给您带来了经济...

    GNU libiconv-1.15和libintl-0.19.8.1,VS2017工程和 Makefile.mak 命令行编译文件

    最新版,修正了relocatable.c文件中GetModuleFileName函数的问题。在ANSI下,等同于:GetModuleFileNameA;Unicode下等同于:GetModuleFileNameW,如果你的程序出错,请检查。 代码为本人良心制作,虽然花费了一定...

    VC小技巧汇总之5则实用小技巧

    本文搜集汇总VC的5则小技巧,非常实用,对于VC程序设计有很好的参考借鉴价值,详情如下...GetModuleFileName( NULL, m_Path, MAX_PATH ); //获取程序路径(包括程序名) int i = 0, j; while( m_Path[i]!=0 ) { if( m

    WinAPI (Delphi版)

    FreeLibraryAndExitThread GetModuleFileName GetModuleHandle GetProcAddress LoadLibrary LoadLibraryEx INI Files and the Registry GetPrivateProfileInt GetPrivateProfileSection ...

    vc++MFC重要技巧

    文件部分内容如下: (1) 如何通过代码获得应用程序主窗口的 指针? 主窗口的 指针保存在CWinThread::m_pMainWnd中,调用AfxGetMainWnd实现。 AfxGetMainWnd() ->...GetModuleFileName(NULL,exeFullPath,MAX_PATH)

    VC实现炫眩qq界面的模拟(附源码)

    从上面可知,我们先用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...

    获取执行文件路径(win7,xp)

    使用GetModuleFileName获取可执行文件路径,成功win7返回非0,xp返回0

    VC用法汇总&键盘按键

    Use GetModuleFileName 获得应用程序的路径,然后去掉可执行文件名。 Example: TCHAR exeFullPath[MAX_PATH] // MAX_PATH在API中定义了吧,好象是 128 GetModuleFileName(NULL,exeFullPath,MAX_PATH) ………Ctrl+D...

    CRegKey 封装操作注册表的类

    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...

    SuperDllHijack:SuperDllHijack:A general DLL hijack technology, don't need to manually export the same function interface of the DLL, so easy! 一种通用Dll劫持技术,不再需要手工导出Dll的函数接口了

    2020-4-4 修复了在x64中获取peb的错误。感谢 , , 。 您可以在example代码中查看更多详细信息。 VOID DllHijack1(HMODULE hMod) { TCHAR tszDllPath[MAX_PATH] = { 0 }; GetModuleFileName(hMod, tszDllPath,...

    C++实现查壳程序代码实例

    本文实例讲述了C++实现查壳程序代码,分享给大家供大家参考。具体方法分析如下: 一般来说,PEID是基于特征码的,用python只需要两行代码,用VC实现用了这么多代码……。... ::GetModuleFileName(NULL, strAppName

    Windows服务编写实践

    编写服务的几个步骤 1) 实现ServiceMainFunction 2) 定义SERVICE_TABLE_ENTRY,引用ServiceMainFunction 3) 取得应用程序路径 GetModuleFileName ...4) 启动时,关联控制函数:StartServiceCtrlDispatcher

    获取已打开窗口路径.zip

    本代码共140余行语句,分为四个函数,首先获取已经打开窗口的句柄,再判断操作系统的主版本号,再选择性调用GetModuleFileName、 GetProcessImageFileName 或QueryFullProcessImageName四个函数其中之一,返回完整...

    获得exe文件的所在路径

    使用:char pName [MAX_PATH];GetModuleFileName(NULL, pName, sizeof( pName ) / sizeof(char));pName存在了exe文件的所在路径。

    操作系统课程设计—进程控制

    例如API函数GetModuleFileName() 和GetCommandLine() ,可以给出用在CreateProcess() 中的参数以启动应用程序。 用GetGuiResources() 来查看进程的GUI资源。此函数既可返回指定进程中的打开的GUI对象的数目,也可...

Global site tag (gtag.js) - Google Analytics