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"

Link of .lib fails in Development Editor, ok in Development

=== Addendum ===

I tried a ultra simple c++ project. Just int TestFunc1() { return 1; }

with a header file, built it, call it in my main game project cpp's and it works fine.

Then we took another .lib for head tracking devices, and that links too. So what is special about lib_json.lib that it would fail in editor mode?

=============================

We distilled this down...

Unreal 4.7.2 Windows 8

Given the default FPS Shooter in unreal, we then try to add the GitHub JasonCPP library.

We get it from git hub (https://github.com/open-source-parsers/jsoncpp) and in the C:\Users\MyName\Desktop\jsoncpp-master\makefiles\msvc2010 we build it in visual studio. (Yes we set the /MD flag)

We get a resulting lib_json.lib

In MyProject run visual studio. We have edited the MyProject.Build.cs and such.

It builds fine in Development configuration.

If we then switch to Development Editor it fails. It is not linking in the lib_json.lib

The current Build cs file is

 // Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
 
 using UnrealBuildTool;
 using System.IO;
 
 public class MyProject : ModuleRules
 {
     public MyProject(TargetInfo Target)
     {
         PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
         LoadJasonCPP(Target);
     }
 
     private string ModulePath
     {
         get { return Path.GetDirectoryName(RulesCompiler.GetModuleFilename(this.GetType().Name)); }
     }
 
 
     private string ThirdPartyPath
     {
         get { return Path.GetFullPath(Path.Combine(ModulePath, "../../ThirdParty/")); }
     }
 
     public bool LoadJasonCPP(TargetInfo Target)
     {
         bool isLibrarySupported = true;
 
         string LibrariesPath = Path.Combine(ThirdPartyPath, "JasonCPP", "Libraries");
 
         PublicAdditionalLibraries.Add("C:/LinkTest/MyProject/ThirdParty/JasonCPP/Libraries/lib_json.lib");
  
         // Include path
         PublicIncludePaths.Add(Path.Combine(ThirdPartyPath, "JasonCPP", "Includes"));
 
         Definitions.Add(string.Format("HAS_JASON_CPP_IN_UNREAL={0}", isLibrarySupported ? 1 : 0));
 
         return isLibrarySupported;
     }
 }
 

We have worked on this for 2 days.

We tried...

  • With and without a hard coded path to the lib_json.lib

  • All different threading models in the lib (currently is back to /MD)

Any ideas?

We are in a maze of twisty little passages, all alike...

This can be easily recreated by making the FPS shooter as a C++ game in Epic Games Launcher, then get json cpp from GitHub, and build is as described.

We are trying to switch from Unity to Unreal and this is making Unreal look waaaaay more difficult to use than Unity. (So there!)

Product Version: Not Selected
Tags:
more ▼

asked Mar 05 '15 at 10:33 PM in C++ Programming

avatar image

SND R Keene
953 30 118 112

avatar image John Alcatraz May 11 '17 at 12:30 PM

Did you find a solution for this? I'm seeing the same issue currently.

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

0 answers: sort voted first
Be the first one to answer this question
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