Git Product home page Git Product logo

Comments (10)

DavidWyand-GG avatar DavidWyand-GG commented on July 24, 2024

@Luis-Anton do you have an actual solution for this? That forum thread points out an issue but doesn't have a concrete resolution.

from torque3d.

537mfb avatar 537mfb commented on July 24, 2024

@DavidWyand-GG If you read Tom Spillman's coment on that thread he gives you the resolution

he says and i quote:
I think the problem is that how T3D is setup the game EXE and game DLL are named the same. This means you get some intermediate files that are named the same and i think it confuses the linker.

and then Devin Passage answers:
Changing the names did get rid of that warning message, seems faster now... have not actually tested the speed but its good enough for now, thank you!

So as you can see, Tom Spillman gave a resolution and Devin confirmed the Tom's resolution solved the issue

It's all in that thread

from torque3d.

dottools avatar dottools commented on July 24, 2024

The problem is that the C/C++ -> Output Files: Program Database File Name and Linker -> Debugging: Generate Program Database File paths are the exact same for the App and DLL projects so they're fighting over the same debug database file. Currently they're being set to _$(OutDir)/$(ProjectName)DEBUG.pdb but instead could probably be set to _$(IntDir)/$(ProjectName)DEBUG.pdb to fix the long linking problem for debug builds..

from torque3d.

537mfb avatar 537mfb commented on July 24, 2024

@dottools Something like that should work aswell - yes

from torque3d.

DavidWyand-GG avatar DavidWyand-GG commented on July 24, 2024

Hey Guys.

Sounds like a plan. So who will step up and submit a Pull Request for the fully tested fix?

from torque3d.

LuisAntonRebollo avatar LuisAntonRebollo commented on July 24, 2024

Change "Program Database File" to IntDir don't work for me :(

I think the problem are "Incremental Link"(.ilk) files. It's not posible to change ouput dir (see this)

The only posible solution it's change name of dll for solve conflit with file ilk of exe.

from torque3d.

LuisAntonRebollo avatar LuisAntonRebollo commented on July 24, 2024

A simple solution for VS2010:

 Tools/projectGenerator/templates/vc2010_dll_proj.tpl | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/Tools/projectGenerator/templates/vc2010_dll_proj.tpl b/Tools/projectGenerator/templates/vc2010_dll_proj.tpl
index a594615..9700eb6 100644
--- a/Tools/projectGenerator/templates/vc2010_dll_proj.tpl
+++ b/Tools/projectGenerator/templates/vc2010_dll_proj.tpl
@@ -50,15 +50,15 @@
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">{$projectOffset}../../{$gameFolder}/</OutDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName)/$(ProjectName)/</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">{$projOutName}_DEBUG</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">{$projOutName}_DEBUG_</TargetName>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Optimized Debug|Win32'">{$projectOffset}../../{$gameFolder}/</OutDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Optimized Debug|Win32'">{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName)/$(ProjectName)/</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Optimized Debug|Win32'">false</LinkIncremental>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Optimized Debug|Win32'">{$projOutName}_OPTIMIZEDDEBUG</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Optimized Debug|Win32'">{$projOutName}_OPTIMIZEDDEBUG_</TargetName>
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">{$projectOffset}../../{$gameFolder}/</OutDir>
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName)/$(ProjectName)/</IntDir>
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">{$projOutName}</TargetName>
+    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">{$projOutName}_</TargetName>
   </PropertyGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
     <Midl>
@@ -96,7 +96,7 @@
     </ResourceCompile>
     <Link>
       <AdditionalDependencies>{foreach item=def from=$projLibs}{$def};{/foreach}%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir){$projOutName}_DEBUG.dll</OutputFile>
+      <OutputFile>$(OutDir)$(TargetName).dll</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>{foreach item=def from=$projLibDirs}{$def};{/foreach}{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName);$(DXSDK_DIR)/Lib/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>LIBC;LIBCD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
@@ -148,7 +148,7 @@
     </ResourceCompile>
     <Link>
       <AdditionalDependencies>{foreach item=def from=$projLibs}{$def};{/foreach}%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir){$projOutName}_OPTIMIZEDDEBUG.dll</OutputFile>
+      <OutputFile>$(OutDir)$(TargetName).dll</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>{foreach item=def from=$projLibDirs}{$def};{/foreach}{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>LIBC;LIBCD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
@@ -200,7 +200,7 @@
     </ResourceCompile>
     <Link>
       <AdditionalDependencies>{foreach item=def from=$projLibs}{$def};{/foreach}%(AdditionalDependencies)</AdditionalDependencies>
-      <OutputFile>$(OutDir){$projOutName}.dll</OutputFile>
+      <OutputFile>$(OutDir)$(TargetName).dll</OutputFile>
       <SuppressStartupBanner>true</SuppressStartupBanner>
       <AdditionalLibraryDirectories>{foreach item=def from=$projLibDirs}{$def};{/foreach}{$projectOffset}../Link/VC2010.$(Configuration).$(PlatformName);$(DXSDK_DIR)/Lib/x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>LIBC;LIBCD;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
 Engine/source/main/main.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Engine/source/main/main.cpp b/Engine/source/main/main.cpp
index 86907b5..4c80a83 100644
--- a/Engine/source/main/main.cpp
+++ b/Engine/source/main/main.cpp
@@ -39,7 +39,7 @@ int PASCAL WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdL

    GetModuleFileNameA(NULL, filename, 4096);
    filename[strlen(filename)-4] = 0;
-   sprintf(gameLib, "%s.dll", filename);
+   sprintf(gameLib, "%s_.dll", filename);

    HMODULE hGame = LoadLibraryA(gameLib);

Any one can test?

from torque3d.

LuisAntonRebollo avatar LuisAntonRebollo commented on July 24, 2024

2 posible solutions. Works on VS2008/2010 (need test)

LuisAntonRebollo@18b1f4c

LuisAntonRebollo@76dc60d

from torque3d.

crabmusket avatar crabmusket commented on July 24, 2024

This is cool, I'll try to test it sometime.

from torque3d.

LuisAntonRebollo avatar LuisAntonRebollo commented on July 24, 2024

We can close this issue, are handled on #698

from torque3d.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.