Supporting Visual C±± projects
Hello AppVeyor team,
Are there any plans to support visual c++ projects?
Thanks,
Vivek
Comments are currently closed for this discussion. You can start a new one.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by Feodor Fitsner on 23 Oct, 2013 03:29 AM
Hi Vivek,
Thanks for your interest in AppVeyor!
Both VS.NET 2010 and 2012 C++ projects should be supported. Please give a try and let me know if you find any issues with that.
-Feodor
2 Posted by Vivek Galatage on 23 Oct, 2013 03:37 AM
Hi Feodor,
Thanks for the quick response.
Actually before posting the question, I tried to setup my github repo and
run into this error:
https://ci.appveyor.com/api/projects/log?projectVersionId=22976
Any help resolving the issue?
BR,
Vivek
Support Staff 3 Posted by Feodor Fitsner on 23 Oct, 2013 04:01 AM
Is it a public project? What's repo URL?
4 Posted by Vivek Galatage on 23 Oct, 2013 04:28 AM
https://github.com/vivekgalatage/DSLibrary/
Support Staff 5 Posted by Feodor Fitsner on 23 Oct, 2013 04:41 AM
OK, I see. The error AppVeyor throws is a bit unfriendly, but apparently it cannot parse DSLibrary.sln file!
You can try the following options:
1) Upgrade solution/projects to either VS 2010 or 2012 (2013 support is coming)
2) Run build using script, i.e. commit build.cmd into repo with commands required to build the project.
6 Posted by Vivek Galatage on 23 Oct, 2013 05:48 AM
I updated the solution file to match with 2010 version and now I am getting
the below build log. On my local machine the above script works fine.
https://ci.appveyor.com/api/projects/log?projectVersionId=23012
d:\Builds\lqajdhgu0r\src>git submodule init
d:\Builds\lqajdhgu0r\src>git submodule update
d:\Builds\lqajdhgu0r\src>msbuild DSLibrary.sln
Microsoft (R) Build Engine version 4.0.30319.17929
[Microsoft .NET Framework, version 4.0.30319.18051]
Copyright (C) Microsoft Corporation. All rights reserved.
Building the projects in this solution one at a time. To enable parallel
build, please add the "/m" switch.
Build started 10/23/2013 5:44:01 AM.
Project "d:\Builds\lqajdhgu0r\src\DSLibrary.sln" on node 1 (default
targets).
ValidateSolutionConfiguration:
Building solution configuration "Debug|Win32".
Project "d:\Builds\lqajdhgu0r\src\DSLibrary.sln" (1) is building
"d:\Builds\lqajdhgu0r\src\libds.vcxproj" (2) on node 1 (default targets).
d:\Builds\lqajdhgu0r\src\libds.vcxproj(18,3): error MSB4019: The imported
project "d:\Microsoft.Cpp.Default.props" was not found. Confirm that the
path in the <Import> declaration is correct, and that the file exists on
disk.
Done Building Project "d:\Builds\lqajdhgu0r\src\libds.vcxproj" (default
targets) -- FAILED.
Done Building Project "d:\Builds\lqajdhgu0r\src\DSLibrary.sln" (default
targets) -- FAILED.
Build FAILED.
"d:\Builds\lqajdhgu0r\src\DSLibrary.sln" (default target) (1) ->
"d:\Builds\lqajdhgu0r\src\libds.vcxproj" (default target) (2) ->
d:\Builds\lqajdhgu0r\src\libds.vcxproj(18,3): error MSB4019: The imported
project "d:\Microsoft.Cpp.Default.props" was not found. Confirm that the
path in the <Import> declaration is correct, and that the file exists on
disk.
0 Warning(s)
1 Error(s)
Time Elapsed 00:00:00.20
7 Posted by Vivek Galatage on 23 Oct, 2013 06:40 AM
Searching around the error brought me here:
http://stackoverflow.com/questions/16092169/why-does-msbuild-look-in-c-for-microsoft-cpp-default-props-instead-of-c-progr/16213408#16213408
Support Staff 8 Posted by Feodor Fitsner on 23 Oct, 2013 06:53 AM
Yes, I found the same article.
I added "VCTargetsPath" to the registry. In fact, it already exists, but under "wow6432node". AppVeyor uses 64-bit tools by default and that might be a problem.
Give it a try now.
9 Posted by Vivek Galatage on 23 Oct, 2013 07:08 AM
Wow! Great... its working now! thanks for your help and support, really
appreciate your time on it. :)
Support Staff 10 Posted by Feodor Fitsner on 23 Oct, 2013 07:10 AM
Great! I'll add that into instructions for setting up new build servers.
Btw, probably it makes sense for AppVeyor to switch build process to x86 tools only...
Feodor Fitsner closed this discussion on 23 Oct, 2013 07:10 AM.
Vivek Galatage re-opened this discussion on 23 Oct, 2013 07:20 AM
11 Posted by Vivek Galatage on 23 Oct, 2013 07:20 AM
Sure, yeah locally although I am on 64bit windows, I am using the x86
toolchain from visual studio.
One more thing, I figured out that the AppVeyor changes the generated
executable name to match with the project name.
12 Posted by Vivek Galatage on 23 Oct, 2013 07:21 AM
Oops I accidently hit ctrl+enter and the message was sent. Continuing here:
One more thing, I figured out that the AppVeyor changes the generated
executable name to match with the project name.
My project generates libds.lib and unitTestRunner.exe as part of MSBuild.
Whereas AppVeyor generates dslibrary.exe as the name of the executable.
Is this done explicitly due to some security concerns etc?
Support Staff 13 Posted by Feodor Fitsner on 23 Oct, 2013 04:13 PM
Sure, I'm looking into this right now.
Support Staff 14 Posted by Feodor Fitsner on 23 Oct, 2013 05:00 PM
OK, found the problem!
C++ project defines target executable name as "$(ProjectName)", but coincidentally :) the same environment variable is used for passing AppVeyor's project name.
I will put a task to rename AppVeyor variables (have to check that nothing is broken).
For now you can add "set ProjectName=" in the beginning of build.bat to reset var. See updated script:
https://github.com/FeodorFitsner/DSLibrary/blob/master/build.bat
Do not forget to change a path to exe on "Packaging" tab.
15 Posted by Vivek Galatage on 23 Oct, 2013 05:03 PM
Awesome. I will update my batch script accordingly. Thanks :-)
Support Staff 16 Posted by Feodor Fitsner on 23 Oct, 2013 05:04 PM
No prob! Our ultimate goal is to make AppVeyor a first-class home for Windows projects of any type and language! ;)
Feodor Fitsner closed this discussion on 23 Oct, 2013 05:04 PM.