psieg / Lightpack

Lightpack and Prismatik open repository
GNU General Public License v3.0
1.57k stars 188 forks source link

Problems with generating .sln #391

Open bkaczmarczyk opened 3 years ago

bkaczmarczyk commented 3 years ago
Project ERROR: Cannot run target compiler 'cl'. Output:
===================
===================
Maybe you forgot to setup the environment?

Get-Content : Cannot find path 'C:\Users\xxx\Desktop\Lightpack\Software\Lightpack.sln' because it does not exist.
At line:1 char:30
+ $f = "Lightpack.sln"; $sln = Get-Content $f; $guid = ($sln | select-s ...
+                              ~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Users\barte\...e\Lightpack.sln:String) [Get-Content], ItemNotFoundEx
   ception
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand

Cannot index into a null array.
At line:1 char:46
+ ... Content $f; $guid = ($sln | select-string -Pattern 'prismatik-hooks32 ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : NullArray

Cannot index into a null array.
At line:1 char:201
+ ... '$1Win32'); $guid = ($sln | select-string -Pattern 'prismatik-unhook3 ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : NullArray

Cannot index into a null array.
At line:1 char:357
+ ... '$1Win32'); $guid = ($sln | select-string -Pattern 'offsetfinder.*({[ ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : NullArray

I tried Visual Studio 2017, 2019. I'm using QT 5.12.0. WIN 10 Home 19041

zomfg commented 3 years ago

You are probably running it in a "normal" PowerShell / cmd You need to do it from the "developer" one

bkaczmarczyk commented 3 years ago

After running it from developer console I got the following: Reading C:/Users/xxx/Desktop/Lightpack-master/Software/src/src.pro fatal: your current branch 'master' does not have any commits yet Project MESSAGE: GIT not found, GIT_REVISION will be undefined

and

WARNING: Project ERROR: Unknown module(s) in QT: serialport

Can you give me the versions of programs you are using? I'm using Visual Studio 2017, QT 5.12.0 and git 2.28.

zomfg commented 3 years ago

That means that you probably downloaded the source archive instead of git-cloning, which should not be a problem, unless you plan on contributing, in which case you kinda need to clone...

and

this is what I have for Qt image I run VS2019 but 2017 is working as well, Qt 5.12 should be fine too, git version does not matter

Minhcoit1 commented 3 years ago

After running from developer console, i have this problem, who can help me resolve? please ^^


Visual Studio 2019 Developer Command Prompt v16.7.5 Copyright (c) 2020 Microsoft Corporation


C:\Users\minhb\source\repos\Project1>cd C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32

C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32>generate_sln.bat

C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32>REM call this from $repo/Software

C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32>C:\Qt\5.15.1\msvc2019_64\bin\qmake -recursive -tp vc Lightpack.pro Cannot find file: Lightpack.pro.

C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32>REM qmake only allows shared linkage of the msvcr* runtime (for reasons acceptable when using Qt in the projects)

C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32>REM for our lightweiht, non-qt components which we want to inject into other processes this is bad

C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32>REM so after qmake is done, run this little script to rewrite the vcxproj's to use static linking

C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32>powershell "ForEach($f in Get-ChildItem hooks*.vcxproj) { (Get-Content $f).replace(\"MultiThreadedDLL\",\"MultiThreaded\") | Set-Content $f }" Get-ChildItem : Cannot find path 'C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32\hooks' because it does not exist. At line:1 char:15

C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32>powershell "ForEach($f in Get-ChildItem unhook*.vcxproj) { (Get-Content $f).replace(\"MultiThreadedDLL\",\"MultiThreaded\") | Set-Content $f }" Get-ChildItem : Cannot find path 'C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32\unhook' because it does not exist. At line:1 char:15

C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32>powershell "ForEach($f in Get-ChildItem offsetfinder*.vcxproj) { (Get-Content $f).replace(\"MultiThreadedDLL\",\"MultiThreaded\") | Set-Content $f }" Get-ChildItem : Cannot find path 'C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32\offsetfinder' because it does not exist. At line:1 char:15

C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32>REM qmake can't create Win32 projects in a x64 SUBDIRS sln. The files are Win32, but the SLN generator assumes all vcxproj's are x64 sln

C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32>REM so we have to manually rewrite the SLN to reference the Win32 builds

C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32>powershell "$f = \"Lightpack.sln\"; $sln = Get-Content $f; $guid = ($sln | select-string -Pattern 'prismatik-hooks32.({[0-9A-Z-]}).').Matches[0].Groups[1].Value; $sln = $sln -replace(\"($guid.)x64\",'$1Win32'); $guid = ($sln | select-string -Pattern 'prismatik-unhook32.({[0-9A-Z-]}).').Matches[0].Groups[1].Value; $sln = $sln -replace(\"($guid.)x64\",'$1Win32'); $guid = ($sln | select-string -Pattern 'offsetfinder.({[0-9A-Z-]}).').Matches[0].Groups[1].Value; $sln = $sln -replace(\"($guid.)x64\",'$1Win32'); $sln | Set-Content $f" Get-Content : Cannot find path 'C:\Users\minhb\Downloads\Lightpack-master\Lightpack-master\Software\scripts\win32\Lightpack.sln' because it does not exist. At line:1 char:30

Cannot index into a null array. At line:1 char:46

Cannot index into a null array. At line:1 char:201

Cannot index into a null array. At line:1 char:357

zomfg commented 3 years ago

run it from Software folder