第一步已经建立了空白插件模板,这一部分将引入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 版权协议,转载请附上原文出处链接和本声明。