Including this simple script:
using UnityEngine;
using System.Net.Sockets;
public class TestScript : MonoBehaviour
{
// Use this for initialization
void Start ()
{
var addressFamily = System.Net.Sockets.AddressFamily.InterNetwork;
}
}
Gives us these build errors:
Failed running C:\Program Files\Unity_2017.2.1p2\Editor\Data\il2cpp/build/il2cpp.exe --convert-to-cpp --emit-null-checks --enable-stacktrace --enable-array-bounds-check --development-mode --dotnetprofile="net45" --compile-cpp --platform="Switch" --architecture="ARM64" --configuration="Debug" --outputpath="C:\Users\krzys\Documents\NintendoTest\Temp\StagingArea\Native\SwitchPlayer.nss" --cachedirectory="C:/Users/krzys/Documents/NintendoTest/Assets/../SwitchIL2CPPCache/il2cpp_cache" --plugin="C:/Program Files/Unity_2017.2.1p2/Editor/Data/PlaybackEngines/Switch/Tools\Il2CppPlugin.dll" --additional-include-directories="C:\Program Files\Unity_2017.2.1p2\Editor\Data\PlaybackEngines\Switch\Tools/il2cpp\bdwgc/include" --additional-include-directories="C:\Program Files\Unity_2017.2.1p2We can't build project when we use any element from *System.Net.Sockets* namespace while targeting *Nintendo Switch* platform\Editor\Data\PlaybackEngines\Switch\Tools/il2cpp\libil2cpp/include" --additional-include-directories="C:/Program Files/Unity_2017.2.1p2/Editor/Data/PlaybackEngines/Switch/Tools\il2cpp\libil2cpp\os" --verbose --enable-stats --stats-output-dir="C:/Users/krzys/Documents/NintendoTest/Assets/../SwitchIL2CPPStats" --libil2cpp-static --additional-defines="DEBUGMODE=1,UNITY_RELEASE=0,IL2CPP_USE_SOCKET_MULTIPLEX_IO=1" --map-file-parser="C:\Program Files\Unity_2017.2.1p2\Editor\Data\Tools\MapFileParser\MapFileParser.exe" --assembly="C:\Users\krzys\Documents\NintendoTest\Temp\StagingArea\Managed\Assembly-CSharp.dll" --assembly="C:\Users\krzys\Documents\NintendoTest\Temp\StagingArea\Managed\UnityEngine.dll" --generatedcppdir="C:\Users\krzys\Documents\NintendoTest\Temp\StagingArea\il2cppOutput"
stdout:
Building SwitchPlayer.nss with SwitchToolChain.
Output directory: C:\Users\krzys\Documents\NintendoTest\Temp\StagingArea\Native
Cache directory: C:\Users\krzys\Documents\NintendoTest\SwitchIL2CPPCache\il2cpp_cache
il2cpp.exe didn't catch exception: Unity.IL2CPP.Building.BuilderFailedException: clang.exe: warning: argument unused during compilation: '-stdlib=libc++' [-Wunused-command-line-argument]
C:\Program Files\Unity_2017.2.1p2\Editor\Data\il2cpp\libil2cpp\os\ConditionVariable.cpp(18,35): error: allocation of incomplete type 'il2cpp::os::ConditionVariableImpl'
: m_ConditionVariable(new ConditionVariableImpl())
^~~~~~~~~~~~~~~~~~~~~
C:\Program Files\Unity_2017.2.1p2\Editor\Data\il2cpp\libil2cpp\os/ConditionVariable.h(10,11): note: forward declaration of 'il2cpp::os::ConditionVariableImpl'
class ConditionVariableImpl;
^
C:\Program Files\Unity_2017.2.1p2\Editor\Data\il2cpp\libil2cpp\os\ConditionVariable.cpp(24,9): warning: deleting pointer to incomplete type 'il2cpp::os::ConditionVariableImpl' may cause undefined behavior [-Wdelete-incomplete]
delete m_ConditionVariable;
^ ~~~~~~~~~~~~~~~~~~~
C:\Program Files\Unity_2017.2.1p2\Editor\Data\il2cpp\libil2cpp\os/ConditionVariable.h(10,11): note: forward declaration of 'il2cpp::os::ConditionVariableImpl'
class ConditionVariableImpl;
^
C:\Program Files\Unity_2017.2.1p2\Editor\Data\il2cpp\libil2cpp\os\ConditionVariable.cpp(29,35): error: member access into incomplete type 'il2cpp::os::ConditionVariableImpl'
return m_ConditionVariable->Wait(lock->GetImpl());
^
C:\Program Files\Unity_2017.2.1p2\Editor\Data\il2cpp\libil2cpp\os/ConditionVariable.h(10,11): note: forward declaration of 'il2cpp::os::ConditionVariableImpl'
class ConditionVariableImpl;
^
C:\Program Files\Unity_2017.2.1p2\Editor\Data\il2cpp\libil2cpp\os\ConditionVariable.cpp(34,35): error: member access into incomplete type 'il2cpp::os::ConditionVariableImpl'
return m_ConditionVariable->TimedWait(lock->GetImpl(), timeout_ms);
^
C:\Program Files\Unity_2017.2.1p2\Editor\Data\il2cpp\libil2cpp\os/ConditionVariable.h(10,11): note: forward declaration of 'il2cpp::os::ConditionVariableImpl'
class ConditionVariableImpl;
^
C:\Program Files\Unity_2017.2.1p2\Editor\Data\il2cpp\libil2cpp\os\ConditionVariable.cpp(39,28): error: member access into incomplete type 'il2cpp::os::ConditionVariableImpl'
m_ConditionVariable->Broadcast();
^
C:\Program Files\Unity_2017.2.1p2\Editor\Data\il2cpp\libil2cpp\os/ConditionVariable.h(10,11): note: forward declaration of 'il2cpp::os::ConditionVariableImpl'
class ConditionVariableImpl;
^
C:\Program Files\Unity_2017.2.1p2\Editor\Data\il2cpp\libil2cpp\os\ConditionVariable.cpp(44,28): error: member access into incomplete type 'il2cpp::os::ConditionVariableImpl'
m_ConditionVariable->Signal();
^
C:\Program Files\Unity_2017.2.1p2\Editor\Data\il2cpp\libil2cpp\os/ConditionVariable.h(10,11): note: forward declaration of 'il2cpp::os::ConditionVariableImpl'
class ConditionVariableImpl;
^
1 warning and 5 errors generated.
We are using *Unity 2017.2.1p2* and *Nintendo SDK 4.4.1*.
Accordingly to *Unity for Nintendo Switch Development Manual* (document from Nintendo dev portal) *System.Net.Sockets.Socket* class is supported.
This problem arised from previous [question
][1] while trying to isolate problem.
[1]: https://answers.unity.com/questions/1469182/exporting-unity3d-game-with-managed-plugins-to-nin.html
↧