# FPlatformProcess::GetDllExport() returns NULL

**URL:** <https://forums.unrealengine.com/t/fplatformprocess-getdllexport-returns-null/305208>\
**Category:** Programming & Scripting\
**Tags:** unreal-engine\
**Created:** [January 27, 2015, 11:58pm UTC](https://forums.unrealengine.com/t/fplatformprocess-getdllexport-returns-null/305208 "2015-01-27T23:58:16Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![0x6c6565](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@0x6c6565](https://forums.unrealengine.com/u/0x6c6565)\
**Post date:** [January 27, 2015, 11:58pm UTC](https://forums.unrealengine.com/t/fplatformprocess-getdllexport-returns-null/305208/1 "2015-01-27T23:58:16Z")

</div>

FPaths::FileExists() returns true;

FPlatformProcess::GetDllHandle() succeeds…

FPlatformProcess::GetDllExport() returns NULL.

I was following the getCircleArea ([A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums](https://wiki.unrealengine.com/Linking_Dlls)) tutorial.

Any help is appreciated, thanks!

---

<div class="post-metadata">

**Author:** ![Jkthrp](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Jkthrp](https://forums.unrealengine.com/u/Jkthrp)\
**Post date:** [April 3, 2015, 6:12am UTC](https://forums.unrealengine.com/t/fplatformprocess-getdllexport-returns-null/305208/2 "2015-04-03T06:12:26Z")

</div>

I’m having the same problem…

---

<div class="post-metadata">

**Author:** ![0x0000](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@0x0000](https://forums.unrealengine.com/u/0x0000)\
**Post date:** [September 25, 2015, 8:29pm UTC](https://forums.unrealengine.com/t/fplatformprocess-getdllexport-returns-null/305208/3 "2015-09-25T20:29:06Z")

</div>

I had the same problem, It boiled down to C++ name mangling. Basically, C++ needs to turn all your identifiers(for functions, classes, etc…) into unique identifiers for reasons, so it appends additional information to the names to make them truly unique.  
I.E. it turns this:

> int TestFunction(int)

into this:

> !TestFunction@@Y\_N@@Z

You can see this if you view the exports from your DLL (You can dump/view the binary yourself, or get the DLL export viewer).

There are two solutions to the name mangling problem (that I’ve found). The first is to tell the compiler to compile your code as C instead of C++ using:

> extern “C”  
> {  
> //Your code here  
> };

The second is to add a .def file, which eliminates the need for name mangling.

sources:  
[Name Mangling](https://en.wikipedia.org/wiki/Name_mangling#Name_mangling_in_C.2B.2B)  
[Adding .def files](http://stackoverflow.com/questions/902468/is-there-a-way-to-suppress-c-name-mangling)  
[DLL export viewer](http://www.nirsoft.net/utils/dll_export_viewer.html)

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_590cb5931](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_590cb5931](https://forums.unrealengine.com/u/anonymous_user_590cb5931)\
**Post date:** [January 20, 2016, 2:20pm UTC](https://forums.unrealengine.com/t/fplatformprocess-getdllexport-returns-null/305208/4 "2016-01-20T14:20:36Z")

</div>

Thank you very much!

---

<div class="post-metadata">

**Author:** ![anonymous\_user\_2aee4e27](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@anonymous\_user\_2aee4e27](https://forums.unrealengine.com/u/anonymous_user_2aee4e27)\
**Post date:** [May 27, 2017, 1:34am UTC](https://forums.unrealengine.com/t/fplatformprocess-getdllexport-returns-null/305208/5 "2017-05-27T01:34:11Z")

</div>

even if i export code like :

```auto
extern "C"
{
//Your code here
};

```

i still cannot import method
