Skip to content

CoreRT compile failed #6

Open
Open
@ryancheung

Description

@ryancheung

I just made a library with SharpGenTools and tried to test corert compiling. It raised the error:

ImeSharp.Demo.obj : error LNK2001: unresolved external symbol WindowsCreateString [D:\TeamIG\ImeSharp\ImeSharp.Demo\ImeSharp.Demo.csproj]
bin\Release\netcoreapp3.1\win-x64\native\ImeSharp.Demo.exe : fatal error LNK1120: 1 unresolved externals [D:\TeamIG\ImeSharp\ImeSharp.Demo\ImeSharp.Demo.csproj]
C:\Users\ryanc\.nuget\packages\microsoft.dotnet.ilcompiler\1.0.0-alpha-29228-02\build\Microsoft.NETCore.Native.targets(331,5): error MSB3073: command“"C:\Program Files (x86)\Microsoft 
Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\Hostx64\x64\link.exe"  @"obj\Release\netcoreapp3.1\win-x64\native\link.rsp"”Existed,code is 1120。 [D:\TeamIG\ImeSharp\ImeSharp.Demo\ImeSharp.Demo.csproj]

The SharpGen.Runtime.COM package has this file:

using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

namespace SharpGen.Runtime.Win32
{
	// Token: 0x0200003D RID: 61
	internal static class WinRTStrings
	{
		// Token: 0x060000D8 RID: 216 RVA: 0x00003F98 File Offset: 0x00002198
		public unsafe static void WindowsCreateString(string sourceString, uint length, out IntPtr text)
		{
			Result result;
			fixed (IntPtr* ptr = &text)
			{
				void* param = (void*)ptr;
				fixed (string text2 = sourceString)
				{
					char* ptr2 = text2;
					if (ptr2 != null)
					{
						ptr2 += RuntimeHelpers.OffsetToStringData / 2;
					}
					result = WinRTStrings.WindowsCreateString_((void*)ptr2, length, param);
				}
			}
			result.CheckError();
		}

		// Token: 0x060000D9 RID: 217
		[DllImport("api-ms-win-core-winrt-string-l1", CallingConvention = 3, EntryPoint = "WindowsCreateString")]
		private unsafe static extern int WindowsCreateString_(void* param0, uint param1, void* param2);
	}
}

It seems the DllImport of WindowsCreateString is wrong?

Has anyone tried compiling with CoreRT?

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions