Bug 76820

Summary: MS VC 2010 Build files broken
Product: cairomm Reporter: David Weiß <david.weiss>
Component: BuildAssignee: Murray Cumming <murrayc>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: medium    
Version: 1.0.x   
Hardware: All   
OS: Windows (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Diff for VC Project File adding missing .cc and .h files
Diff for VC Project Filters File adding missing .cc and .h file filters

Description David Weiß 2014-03-31 07:29:19 UTC
The project file for cairo-1.0 in the MS VC 2010 solution does not build ootb:

  surface.obj : error LNK2019: unresolved external symbol "public: __cdecl Cair
o::Device::Device(struct _cairo_device *,bool)" (??0Device@Cairo@@QEAA@PEAU_cai
ro_device@@_N@Z) referenced in function "public: class Cairo::RefPtr<class Cair
o::Device> __cdecl Cairo::Surface::get_device(void)" (?get_device@Surface@Cairo
@@QEAA?AV?$RefPtr@VDevice@Cairo@@@2@XZ)

This is because the 'device.cc' source file is not linked in the solution.
Manual fix is to open the solution file and add 'device.cc' to the list of source files inside the 'cairomm-1.0' project.

Also, some header files are not linked in the project:
context_private.h
device.h
quartz_font.h
types.h

This may cause problems on some systems.
Comment 1 Murray Cumming 2014-03-31 07:52:39 UTC
A patch would be welcome, please.
Comment 2 David Weiß 2014-04-09 08:33:35 UTC
Created attachment 97115 [details] [review]
Diff for VC Project File adding missing .cc and .h files
Comment 3 David Weiß 2014-04-09 08:34:04 UTC
Created attachment 97117 [details] [review]
Diff for VC Project Filters File adding missing .cc and .h file filters
Comment 4 David Weiß 2014-04-09 08:34:43 UTC
Sorry for the delay, here are the patch files for the VS 2010 project.
Comment 5 Murray Cumming 2014-04-09 08:53:07 UTC
Thanks. I have pushed those changes in a git commit:
http://cgit.freedesktop.org/cairomm/commit/?id=870509477a748435ad527d29428cef544da3fc8a

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.