x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Building my Editor Plugin on Mac

Hello. I have an editor plugin. It compiles fine on Windows using 4.5, but we have issues compiling it on mac. It seems to die during Linking, here's the error:

 Performing 5 actions (5 in parallel)
 [1/5] Compile Module.mylongpackagenameEngine.cpp
 [2/5] Compile mylongpackagenameEngine.generated.cpp
 [3/5] Link UE4Editor-mylongpackagenameEngine-Mac-Debug.dylib
 ld: can't link with a main executable file '/Volumes/Buffalo/Projects/mylongcompanyname/dev/src/mylongpackagename/custom/ASDFGH/Unreal/Engine/Binaries/Mac/UE4Editor-Mac-Debug.app/Contents/MacOS/UE4Editor-Mac-Debug' for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see invocation)
 error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: can't open file: /Volumes/Buffalo/Projects/mylongcompanyname/dev/src/mylongpackagename/custom/ASDFGH/Unreal/Engine/Plugins/Runtime/mylongpackagenameEngine/Binaries/Mac/UE4Editor-mylongpackagenameEngine-Mac-Debug.dylib (No such file or directory)
 -------- End Detailed Actions Stats ---------

My module build.cs file is

 namespace UnrealBuildTool.Rules
 {
     public class mylongpackagenameEngine : ModuleRules
     {
         public mylongpackagenameEngine(TargetInfo Target)
         {            
             PublicLibraryPaths.Add("actual lib path here");
             PublicAdditionalLibraries.Add("actual lib I am linking here");
 
             PublicIncludePaths.AddRange(
                 new string[] {
                     // ... add public include paths required here ...
                     "my additional include path"
                 }
                 );
 
             PrivateIncludePaths.AddRange(
                 new string[] {
                     "mylongpackagenameEngine/Private"
                     // ... add other private include paths required here ...
                 }
                 );
 
             PublicDependencyModuleNames.AddRange(
                 new string[]
                 {
                     "Core",
                     "CoreUObject",
                     "Engine",
                     "RenderCore",
                     "ShaderCore",
                     "InputCore",
                     "RHI",
                     "AssetTools",
                     "UnrealEd",
                     "Slate",
                     "SlateCore",
                     "Projects",
                     "PropertyEditor",
                     "ContentBrowser",
                     "RawMesh",
                     "TargetPlatform",
                     "LevelEditor",
                     "MainFrame",
                     "Launch",
                     "EditorStyle"
                 }
                 );
 
             PrivateDependencyModuleNames.AddRange(
                 new string[]
                 {
                     // ... add private dependencies that you statically link with here ...
                 }
                 );
 
             DynamicallyLoadedModuleNames.AddRange(
                 new string[]
                 {
                     // ... add any modules that your module loads dynamically here ...
                 }
                 );
         }
     }
 }
 

And full compilation log is (same thing happens when inside xcode or when using xcodebuild; i am on 10.10).

 [/Volumes/Buffalo/Projects/mylongcompanyname/dev/src/mylongpackagename/custom/ASDFGH/Unreal]
 radix@babou ->xcodebuild -target "UE4Editor - Mac" -sdk macosx10.10 -configuration Debug
 Build settings from command line:
     SDKROOT = macosx10.10
 
 2014-10-24 13:28:04.918 xcodebuild[4368:47189] +dataWithFirstBytes:1024 ofFile:"/Volumes/Buffalo/Projects/mylongcompanyname/dev/src/mylongpackagename/custom/ASDFGH/Unreal/Engine/Config/Base.ini" failed, errno = 2
 2014-10-24 13:28:04.929 xcodebuild[4368:47189] +dataWithFirstBytes:1024 ofFile:"/Volumes/Buffalo/Projects/mylongcompanyname/dev/src/mylongpackagename/custom/ASDFGH/Unreal/Engine/Config/BaseEditorLayout.ini" failed, errno = 2
 === BUILD LEGACY TARGET UE4Editor - Mac OF PROJECT UE4 WITH CONFIGURATION Debug ===
 
 Check dependencies
 
 ExternalBuildToolExecution UE4Editor\ -\ Mac
     cd /Volumes/Buffalo/Projects/mylongcompanyname/dev/src/mylongpackagename/custom/ASDFGH/Unreal
     export ACTION=
     /Volumes/Buffalo/Projects/mylongcompanyname/dev/src/mylongpackagename/custom/ASDFGH/Unreal/Engine/Build/BatchFiles/Mac/Build.sh UE4Editor macosx Debug
 Setting up Mono
 Building UBT...
 /Volumes/Buffalo/Projects/mylongcompanyname/dev/src/mylongpackagename/custom/ASDFGH/Unreal/Engine/Binaries/ThirdParty/Mono/Mac/lib/mono/4.0/Microsoft.Common.targets: error : 'OutputPath' property is not set for this project. Usually this is caused by invalid Configuration/Platform combination. Original values: Configuration: Development Platform: mbsd.
     Task "Error" execution -- FAILED
 Errors:
     /Volumes/Buffalo/Projects/mylongcompanyname/dev/src/mylongpackagename/custom/ASDFGH/Unreal/Engine/Binaries/ThirdParty/Mono/Mac/lib/mono/4.0/Microsoft.Common.targets: error : 'OutputPath' property is not set for this project. Usually this is caused by invalid Configuration/Platform combination. Original values: Configuration: Development Platform: mbsd.
      1 Error(s)
 Building UE4Editor...
 2014-10-24 13:28:08.178 defaults[4388:47276] 
 The domain/default pair of (/Users/radix/Library/Preferences/com.apple.dt.Xcode, IDEBuildOperationMaxNumberOfConcurrentCompileTasks) does not exist
 Running command : Engine/Binaries/DotNET/UnrealBuildTool.exe UE4Editor Mac Debug -deploy 
 Compiling with Mac SDK 10.9
 Performing 5 actions (5 in parallel)
 [1/5] Compile Module.mylongpackagenameEngine.cpp
 [2/5] Compile mylongpackagenameEngine.generated.cpp
 [3/5] Link UE4Editor-mylongpackagenameEngine-Mac-Debug.dylib
 ld: can't link with a main executable file '/Volumes/Buffalo/Projects/mylongcompanyname/dev/src/mylongpackagename/custom/ASDFGH/Unreal/Engine/Binaries/Mac/UE4Editor-Mac-Debug.app/Contents/MacOS/UE4Editor-Mac-Debug' for architecture x86_64
 clang: error: linker command failed with exit code 1 (use -v to see invocation)
 error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: can't open file: /Volumes/Buffalo/Projects/mylongcompanyname/dev/src/mylongpackagename/custom/ASDFGH/Unreal/Engine/Plugins/Runtime/mylongpackagenameEngine/Binaries/Mac/UE4Editor-mylongpackagenameEngine-Mac-Debug.dylib (No such file or directory)
 -------- End Detailed Actions Stats -----------------------------------------------------------
 ERROR: UBT ERROR: Failed to produce item: /Volumes/Buffalo/Projects/mylongcompanyname/dev/src/mylongpackagename/custom/ASDFGH/Unreal/Engine/Plugins/Runtime/mylongpackagenameEngine/Binaries/Mac/UE4Editor-mylongpackagenameEngine-Mac-Debug.dylib
 Cumulative action seconds (8 processors): 0.00 building projects, 35.55 compiling, 0.00 creating app bundles, 0.00 generating debug info, 0.18 linking, 0.00 other
 UBT execution time: 36.90 seconds
 
 ** BUILD FAILED **
 
 
 The following build commands failed:
     ExternalBuildToolExecution UE4Editor\ -\ Mac
 (1 failure)


Very much appreciate any help, thanks.

Product Version: Not Selected
Tags:
more ▼

asked Oct 24 '14 at 05:39 PM in C++ Programming

avatar image

ttvd
333 20 25 35

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

I managed to solve the problem - my module was linking vs "Launch" module, which you shouldn't do. This worked well on Windows, but was failing on OS X.

more ▼

answered Oct 29 '14 at 07:03 PM

avatar image

ttvd
333 20 25 35

avatar image wellbye Sep 20 '16 at 01:52 PM

you are right!

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question