UE4MySQL数据库插件开发-mysql第三方库引入(二)

  • Post author:
  • Post category:mysql


第一步已经建立了空白插件模板,这一部分将引入mysql第三方库文件。

1.在创建的项目文件夹下新建一个ThirdParty文件夹

2.解压mysql第三方库文件,将ConnectorLibs拷贝至ThirdParty文件夹下,注意层级关系,

下面是下载地址


https://mianbaoduo.com/o/bread/Yp2WlJxx

ConnectorLibs.Build.cs是模块构建文件,如果没有可以自己建一个,注意保存ANSI格式,里面内容如下

using System.IO;
using UnrealBuildTool;
 
public class ConnectorLibs: ModuleRules
{
	public ConnectorLibs(ReadOnlyTargetRules Target) : base(Target)
	{
		Type = ModuleType.External;
 
		//引入头文件
        PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "ConnectorLibs", "include"));
 
        if (Target.Platform == UnrealTargetPlatform.Win64)
		{
            //引入静态库文件
            PublicLibraryPaths.Add(Path.Combine(ModuleDirectory, "ConnectorLibs", "lib")); 
			PublicAdditionalLibraries.Add("mysqlclient.lib");	
					
		}	
	}
}

3.在创建的目录Plugins\mysql\下的mysql.Build.cs添加自定义模块,其实就是一行代码

using UnrealBuildTool;
 
public class TestMySQL : ModuleRules
{
	public TestMySQL(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
		
		PublicIncludePaths.AddRange(
			new string[] {
				// ... add public include paths required here ...
			}
			);
				
		
		PrivateIncludePaths.AddRange(
			new string[] {
				// ... add other private include paths required here ...
			}
			);
			
		
		PublicDependencyModuleNames.AddRange(
			new string[]
			{
				"Core",
				"ConnectorLibs",//添加自定义模块
				// ... add other public dependencies that you statically link with here ...
			}
			);
			
		
		PrivateDependencyModuleNames.AddRange(
			new string[]
			{
				"CoreUObject",
				"Engine",
				"Slate",
				"SlateCore",
				// ... add private dependencies that you statically link with here ...	
			}
			);
		
		
		DynamicallyLoadedModuleNames.AddRange(
			new string[]
			{
				// ... add any modules that your module loads dynamically here ...
			}
			);
	}

4.点击我们的项目,右击,选择最下面属性



包含目录为../Plugins/TestMySQL/Source/ThirdParty/ConnectorLibs/include,



库目录为../Plugins/TestMySQL/Source/ThirdParty/ConnectorLibs/lib

第三方库引入结束,接着点击调试看看有无错误

至此,第三方库引入结束。

若项目能编译通过,但是代码中会有红色下划线提示未定义标示符。这通常是该代码文件包含在项目文件夹的子文件夹中。

解决办法是配置包含项目目录即可:

打开项目属性-》配置属性-》C/C++常规-》附加包含目录-》填入:$(ProjectDir)



版权声明:本文为u014577128原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。