Closed VitorOI closed 7 months ago
I just ran into this issue as well, do you have a diff of the files changed by chance? All the template functions are in the header from what i can tell
i was using this plugin since its the only one i got reliably working with non-standard HID devices (looks over at the HOTAS)
I just ran into this issue as well, do you have a diff of the files changed by chance? All the template functions are in the header from what i can tell
I don't have a diff but here's what I have on both files:
CPP File:
Header File:
You just need to move the template functions' implementation to the Header File. The implementation is done outside of the class scope but could be done inside
hmm for some reason even after that it doesnt want to be opened with the plugin in the folder, w/o it it loads fine though.
are you forcing the change to UE5.3 on the .uplugin file?
I get the message the following modules need to be rebuilt when opening the project
are you forcing the change to UE5.3 on the .uplugin file?
you mean update the project to UE5.3.1?
the project itself was 5.3.1 already
are you forcing the change to UE5.3 on the .uplugin file?
you mean update UE5.3.1?
the project itself was 5.3.1 already
But the .uplugin might not be.
Make sure the "EngineVersion" is set to "5.3.0" or "5.3.1" on the .JoystickPlugin.uplugin file
i dont see a engine version in the uplugin file
{
"FileVersion": 3,
"Version": 1,
"VersionName": "1.0.0",
"FriendlyName": "Joystick Plugin",
"Description": "Unreal Engine Plugin to add Joystick Controllers as Input Devices (with Force Feedback support)",
"Category": "Input Devices",
"CreatedBy": "Jayden Maalouf",
"CreatedByURL": "https://github.com/JaydenMaalouf/JoystickPlugin",
"DocsURL": "https://github.com/JaydenMaalouf/JoystickPlugin/wiki",
"MarketplaceURL": "",
"SupportURL": "https://github.com/JaydenMaalouf/JoystickPlugin/issues",
"CanContainContent": false,
"IsBetaVersion": false,
"IsExperimentalVersion": false,
"Installed": false,
"Modules": [
{
"Name": "JoystickPlugin",
"Type": "Runtime",
"LoadingPhase": "PostConfigInit",
"WhitelistPlatforms": [
"Win64",
"Linux"
]
},
{
"Name": "JoystickPluginEditor",
"Type": "Editor",
"LoadingPhase": "PostEngineInit",
"AdditionalDependencies": [
"Engine"
]
}
]
}
Mine looks like this. add the "EngineVersion" section like on the image. then delete Binaries and Intermediates, Generate Project Files and try to compile and run
oh interesting... wonder if its the differences between OS
yup that worked
hmm wonder if that can be left as 0.0.0 as a "does not matter" option
yup 0.0.0 worked lol
EDIT: nvm adding the EngineVersion line now makes it not appear at all
yup 0.0.0 worked lol
EDIT: nvm adding the EngineVersion line now makes it not appear at all
Adding with 5.3.0 or 0.0.0?
at all
"EngineVersion": 5.3.1
nothing
trying to rebuild the C++ files resulted in a error
Ah, I see the issue.
"EngineVersion": "5.3.0",
You need the air quotes around the number
🤦🏻 fucked up the .uplugin file...
the number needs to be inside ""
just as i pressed comment
AYYY
wow i didnt know UE could list plugins in real time
🤞🏻
uhhh UE5 you ok in there!?
fuck didnt work
last time i had this there were other things not correct with the linux version too
ill try the zip from the downloads
I'm working on Windows, so can't really help much on the Linux side. However, I did notice your version is 1.0.0, while I am using 3.0.0. Try to update to the most recent version
i pulled it from github and for some reason i the version numbers dont work... even the epic games ones show 1.0 or 1.0.0
well zip also not working
ill make a separate issue for the linux one since its not just the functions
thx for the help btw
Linux stuff is off my knowledges, but glad I could help with the other issues.
Just hope the linker errors are quickly fixed on an official release
well i got some more info at least
Building Project_1x1Editor...
Determining max actions to execute in parallel (12 physical cores, 12 logical cores)
Executing up to 12 processes, one per physical core
------ Building 7 action(s) started ------
[1/7] Compile Module.JoystickPluginEditor.cpp
In file included from /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPluginEditor/Module.JoystickPluginEditor.cpp:2:
In file included from /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPluginEditor/Private/Customization/JoystickInstanceIdCustomization.cpp:1:
/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPluginEditor/Public/Customization/JoystickInstanceIdCustomization.h:7:10: fatal error: 'PropertyEditor/Public/IPropertyTypeCustomization.h' file not found
#include "PropertyEditor/Public/IPropertyTypeCustomization.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[2/7] Compile Module.JoystickPlugin.1.cpp
[3/7] Compile Module.JoystickPlugin.3.cpp
[4/7] Compile Module.JoystickPlugin.2.cpp
[5/7] Link (lld) libUnrealEditor-JoystickPlugin.so
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [19]>(char16_t const (&) [19])
>>> referenced by JoystickSubsystem.cpp:39 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:39)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::Initialize(FSubsystemCollectionBase&))
>>> referenced by JoystickSubsystem.cpp:43 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:43)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::Initialize(FSubsystemCollectionBase&))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [32]>(char16_t const (&) [32])
>>> referenced by JoystickSubsystem.cpp:48 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:48)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::Initialize(FSubsystemCollectionBase&))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [18]>(char16_t const (&) [18])
>>> referenced by JoystickSubsystem.cpp:65 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:65)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::Deinitialize())
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [29], FJoystickInstanceId>(char16_t const (&) [29], FJoystickInstanceId)
>>> referenced by JoystickSubsystem.cpp:462 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:462)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::RemoveDevice(FJoystickInstanceId const&))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [31], FJoystickInstanceId>(char16_t const (&) [31], FJoystickInstanceId)
>>> referenced by JoystickSubsystem.cpp:468 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:468)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::RemoveDevice(FJoystickInstanceId const&))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogInformation<char16_t [18], FJoystickInstanceId>(char16_t const (&) [18], FJoystickInstanceId)
>>> referenced by JoystickSubsystem.cpp:474 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:474)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::RemoveDevice(FJoystickInstanceId const&))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogError<char16_t [24], char16_t const*>(char16_t const (&) [24], char16_t const*)
>>> referenced by JoystickSubsystem.cpp:342 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:342)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [4], char16_t const*>(char16_t const (&) [4], char16_t const*)
>>> referenced by JoystickSubsystem.cpp:380 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:380)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [22], int>(char16_t const (&) [22], int)
>>> referenced by JoystickSubsystem.cpp:381 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:381)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
>>> referenced by JoystickSubsystem.cpp:393 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:393)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [13], int>(char16_t const (&) [13], int)
>>> referenced by JoystickSubsystem.cpp:382 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:382)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [16], char16_t const*>(char16_t const (&) [16], char16_t const*)
>>> referenced by JoystickSubsystem.cpp:383 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:383)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
>>> referenced by JoystickSubsystem.cpp:386 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:386)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [21], int>(char16_t const (&) [21], int)
>>> referenced by JoystickSubsystem.cpp:384 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:384)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [15], int>(char16_t const (&) [15], int)
>>> referenced by JoystickSubsystem.cpp:385 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:385)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [20], char16_t const*>(char16_t const (&) [20], char16_t const*)
>>> referenced by JoystickSubsystem.cpp:387 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:387)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
>>> referenced by JoystickSubsystem.cpp:388 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:388)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [10], EJoystickType>(char16_t const (&) [10], EJoystickType)
>>> referenced by JoystickSubsystem.cpp:389 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:389)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [17], EJoystickPowerLevel>(char16_t const (&) [17], EJoystickPowerLevel)
>>> referenced by JoystickSubsystem.cpp:390 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:390)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [19], int>(char16_t const (&) [19], int)
>>> referenced by JoystickSubsystem.cpp:391 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:391)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
>>> referenced by JoystickSubsystem.cpp:394 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:394)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [20], int>(char16_t const (&) [20], int)
>>> referenced by JoystickSubsystem.cpp:392 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:392)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [56], char16_t const*, int>(char16_t const (&) [56], char16_t const*, int)
>>> referenced by JoystickSubsystem.cpp:400 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:400)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: undefined symbol: void FJoystickLogManager::LogDebug<char16_t [30], char16_t const*, int>(char16_t const (&) [30], char16_t const*, int)
>>> referenced by JoystickSubsystem.cpp:406 (/mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Source/JoystickPlugin/Private/JoystickSubsystem.cpp:406)
>>> /mnt/data/Projects/Project_1x1/Plugins/JoystickPlugin/Intermediate/Build/Linux/x64/UnrealEditor/Development/JoystickPlugin/Module.JoystickPlugin.3.cpp.o:(UJoystickSubsystem::AddDevice(int))
ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
Total time in Parallel executor: 3.09 seconds
Total execution time: 6.19 seconds
make: *** [Makefile:85: Project_1x1Editor] Error 6
/mnt/data/Projects/Project_1x1 main* 6s ❯
but.. ill be flooding the other issue now 😄
I'll hopefully have a fix for this shortly. Apologies for the delay!
I haven't compiled the plugin as it will take me a bit to setup my build server for 5.3 but you should be able to test the changes from #46 That should fix the build issues for 5.3.x Let me know if it works for you :)
No problem at all. This is only for use with non standard controllers (who in the world wants 9 axis, 80 buttons, 4 Dpads anyway 🤣)
On Thu, Oct 26, 2023, 11:03 AM Jayden Maalouf @.***> wrote:
I'll hopefully have a fix for this shortly. Apologies for the delay!
— Reply to this email directly, view it on GitHub https://github.com/JaydenMaalouf/JoystickPlugin/issues/50#issuecomment-1780706941, or unsubscribe https://github.com/notifications/unsubscribe-auth/AM27GBCYG2C753QIGVEA3ZLYBIRPNAVCNFSM6AAAAAA6FQGBPWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBQG4YDMOJUGE . You are receiving this because you commented.Message ID: @.***>
I have released 3.2.0-rc.10 which has fixed the build issues with 5.3
Full release will come out once I merged the fix to master
It's been some time but we got there in the end - I have released 3.3.0 Please feel free to raise another issue if you happen to find something!
I was attempting to upgrade my project to UE5.3, and I noticed several linker errors.
This happens on the JoystickLogManager and it is because the template functions there are implemented in CPP and not in the header file. By moving them all there, the errors disappear