CMake/Tests/ModuleDefinition/example_exe.c
Brad King 075f645409 Support WINDOWS_EXPORT_ALL_SYMBOLS with .def files
The `WINDOWS_EXPORT_ALL_SYMBOLS` target property exports all symbols
found in object files explicitly given to the linker.  However, the
linker may also find additional symbols in dependencies and copy them
into the linked binary (e.g. from `msvcrt.lib`).  Provide a way to
export an explicit list of such symbols by adding a `.def` file as a
source file.

Fixes: #16473
2017-03-21 10:02:34 -04:00

22 lines
571 B
C

extern int __declspec(dllimport) example_dll_function(void);
extern int __declspec(dllimport) example_dll_gen_function(void);
#ifdef EXAMPLE_DLL_2
extern int __declspec(dllimport) example_dll_2_function(void);
#endif
extern int __declspec(dllimport) split_dll_1(void);
extern int __declspec(dllimport) split_dll_2(void);
int example_exe_function(void)
{
return 0;
}
int main(void)
{
return example_dll_function() + example_dll_gen_function() +
#ifdef EXAMPLE_DLL_2
example_dll_2_function() +
#endif
split_dll_1() + split_dll_2() + example_exe_function();
}