Pelles C forum

Pelles C => Add-ins => Topic started by: TimoVJL on February 23, 2018, 05:51:06 PM

Title: OpenPrjToMsvc and PrjToVCProj Add-Ins
Post by: TimoVJL on February 23, 2018, 05:51:06 PM
For further developments.
This OpenPrjToMsvc Add-In copy current project to project where POC_PROJECT_OUTPUTDIR directory is outms/outms64 and POC_PROJECT_RESULTDIR directory is msvc.
It don't change CC, but in LINKFLAGS it change -machine:amd64 to -machine:X64 just for a link.exe.

Hopefully someone find it usefull to test projects and create better or inform us how to make it better ;)

EDIT 2018-02-24: PrjToVCProj Add-In try to create <project>.vcproj project file for Visual Studio. Only some tests done with VS 2008
Hopefully someone test it with Visual Studio and let us know how generated project-file works with it.
When this works, then it should be possible to include a project-file for msvc users too.

TIPS:
VS don't like commctl.h in rc-files, it prefer winres.h or winresrc.h? (error RC2247: SYMBOL name too long)
PellesC have that winresrc.h.
WinSDK rc.exe see MANIFEST as string, so rename it to RT_MANIFEST correct id.

.vcxproj for MSBuild and VS 2010 ->
Code: [Select]
DefaultTargets="Build" ToolsVersion="15.0"
Code: [Select]
<PlatformToolset>v141_xp</PlatformToolset>Visual Studio 2010: use v100
Visual Studio 2012: use v110
Visual Studio 2013: use v120 or v120_xp
Visual Studio 2015: use v140 or v140_xp
Visual Studio 2017: use v141 or v141_xp

Code: [Select]
<WindowsTargetPlatformVersion>7.1</WindowsTargetPlatformVersion>
EDIT 2018-03-01: PrjToVSxProj Add-In.
Title: Re: OpenPrjToMsvc and PrjToVCProj Add-Ins
Post by: TimoVJL on March 04, 2018, 08:23:23 PM
PrjToVCxProj
Another version with a dialog for VS target selection.
SubDir option add ..\ prefix for filenames, so project-file can located in a subfolder for different targets.
x64 conf add x64 configurations to 32-bit project, usually inserted by default.
SAFESEH option for a linker /SAFESEH, usually disabled in asm project.

Hopefully this Add-In helps someone to keep in sync a project with VS2015/VS2017.

EDIT 2018-03-08:
Another test version x1:
Option Parse relative directories inserts relative directories for INCLUDE and LIB. X64 add '\x64' to directory name for x64 libs.

EDIT 2018-03-17: x2: Create subdirectory option to create _VC_vxxx\ subfolder and put the project files to there.

EDIT 2019-08-11: x3: .cpp added
Title: Re: OpenPrjToMsvc and PrjToVCProj Add-Ins
Post by: TimoVJL on March 17, 2018, 03:53:45 PM
PrjToVCxProj_WS_x2.zip

PrjToVCxProj was updated to support of a subfolder creation for selected target version, like _VC_v141.
Title: Re: OpenPrjToMsvc and PrjToVCProj Add-Ins
Post by: TimoVJL on May 01, 2023, 11:30:48 AM
poide v12 started to use UNICODE for project files, so these old ANSI based Add-Ins stops working.

https://forum.pellesc.de/index.php?topic=7284.msg27667#msg27667
Title: Re: OpenPrjToMsvc and PrjToVCProj Add-Ins
Post by: Pelle on May 01, 2023, 04:30:52 PM
poide v12 started to use UNICODE for project files, so these old ANSI based Add-Ins stops working.
Um... the default encoding for project files was changed to UTF-16 almost exactly five years ago (2018-05-02)...