Coder Social home page Coder Social logo

Comments (14)

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024
D:\Work\Library\fog\Fog\Scripts>mkdir ..\Build
子目录或文件 ..\Build 已经存在。

D:\Work\Library\fog\Fog\Scripts>cd ..\Build

D:\Work\Library\fog\Fog\Build>cmake .. -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Re
lease -DFOG_BUILD_BENCH=True -DFOG_BUILD_EXAMPLES=True
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: D:/MinGW/bin/gcc.exe
-- Check for working C compiler: D:/MinGW/bin/gcc.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: D:/MinGW/bin/g++.exe
-- Check for working CXX compiler: D:/MinGW/bin/g++.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
== ====================================================
== [Fog-Framework - Normal Build (Release)]
== ====================================================
-- Initializing FOG_DIR=D:/Work/Library/fog/Fog
-- Looking for include files CMAKE_HAVE_PTHREAD_H
-- Looking for include files CMAKE_HAVE_PTHREAD_H - not found.
-- Found Threads: TRUE
-- Performing Test FOG_CC_HAS_FMERGE_ALL_CONSTANTS
-- Performing Test FOG_CC_HAS_FMERGE_ALL_CONSTANTS - Success
-- Performing Test FOG_CC_HAS_FNO_KEEP_STATIC_CONSTS
-- Performing Test FOG_CC_HAS_FNO_KEEP_STATIC_CONSTS - Success
-- Performing Test FOG_CC_HAS_FLTO
-- Performing Test FOG_CC_HAS_FLTO - Failed
-- Performing Test FOG_CC_HAS_WINLINE
-- Performing Test FOG_CC_HAS_WINLINE - Success
-- Performing Test FOG_CC_HAS_WNO_ENUM_COMPARE
-- Performing Test FOG_CC_HAS_WNO_ENUM_COMPARE - Success
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Check size of void*
-- Check size of void* - done
-- Check size of int
-- Check size of int - done
-- Check size of long
-- Check size of long - done
-- Check size of wchar_t
-- Check size of wchar_t - done
-- Looking for include files FOG_HAVE_FLOAT_H
-- Looking for include files FOG_HAVE_FLOAT_H - found
-- Looking for include files FOG_HAVE_LIMITS_H
-- Looking for include files FOG_HAVE_LIMITS_H - found
-- Looking for include files FOG_HAVE_STDARG_H
-- Looking for include files FOG_HAVE_STDARG_H - found
-- Looking for include files FOG_HAVE_STDINT_H
-- Looking for include files FOG_HAVE_STDINT_H - found
-- Configuring Fog/Core
   Adding optimized file Fog/Core/Tools/List_SSE2.cpp (SSE2)
-- Configuring Fog/G2d
   Adding optimized file Fog/G2d/Geometry/PathClipper_SSE.cpp (SSE)
   Adding optimized file Fog/G2d/Geometry/Transform_SSE.cpp (SSE)
   Adding optimized file Fog/G2d/Geometry/PathClipper_SSE2.cpp (SSE2)
   Adding optimized file Fog/G2d/Geometry/Transform_SSE2.cpp (SSE2)
   Adding optimized file Fog/G2d/Imaging/Filters/FeColorMatrix_SSE.cpp (SSE)
-- Looking for include files FOG_HAVE_LIBJPEG
-- Looking for include files FOG_HAVE_LIBJPEG - found
-- Looking for include files FOG_HAVE_LIBPNG
-- Looking for include files FOG_HAVE_LIBPNG - found
   Adding optimized file Fog/G2d/Painting/RasterPaintEngine_SSE2.cpp (SSE2)
   Adding optimized file Fog/G2d/Source/Color_SSE2.cpp (SSE2)
   Adding optimized file Fog/G2d/Tools/Region_SSE2.cpp (SSE2)
-- Configuring Fog/UI
-- Configuring Fog/Svg
-- Configuring done
-- Generating done
-- Build files have been written to: D:/Work/Library/fog/Fog/Build

D:\Work\Library\fog\Fog\Build>cd ..\Scripts

D:\Work\Library\fog\Fog\Scripts>pause
请按任意键继续. . .


this is configure output.

Original comment by [email protected] on 12 Oct 2011 at 5:44

from fog.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024
Hello,

this is similar to Issue #35. I fixed some errors today, but not all of them.

Marking as accepted, will be fixed soon

Original comment by kobalicek.petr on 12 Oct 2011 at 6:14

from fog.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024

Original comment by kobalicek.petr on 12 Oct 2011 at 6:14

  • Changed state: Accepted

from fog.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024
Thank you very much! I have compiled it with modified some code, mainly in 
CompileGcc.h, I commented the __attribute__((always_inline)) and 
__attribute__((cdecl)),but it's still a lot of warnings (all of them are 
inline fault), and I modified the CMakeLists.txt It's very strange that some of 
Header can not use MMX/SSE2, in CMakeLists.txt I found that you added them into 
source files' property, but it still can not pass compile, so I added -mmmx 
-msse -msse2 to all file (CMAKE_CXX_FLAGS) :(

Hopes these information could help you, thx :)

Original comment by [email protected] on 12 Oct 2011 at 9:22

from fog.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024
Temporarily fixed by r777, but the code generated by MinGW is larger (About 
60%) and slow (about 10-15%).

Original comment by kobalicek.petr on 13 Oct 2011 at 3:06

from fog.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024
but, my other modules is compiled with mingw:( and the fog don't export
portable c interface, i can only c++ interface that can not cross compilers.
is using a c interface a plan in your todo list?

thank you anyway:)
�� 2011-10-13 ����11:07�� <[email protected]>д����

Original comment by [email protected] on 13 Oct 2011 at 3:16

from fog.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024
There is a C like interface, but it's not designed to work with a pure C code 
at this moment. It's designed mainly as a large virtual function table, where 
the base functions can be replaced by optimized ones (another effect of this is 
that many simple classes are not exported). Another idea is to simplify 
bindings to other programming languages that can accept function & function 
prototype declaration.

So you can use the slower MinGW version at this time and hope that these errors 
will be fixed by MinGW team some day. BTW: Why not to use MSVC to compile all 
your modules? It produces really good binaries;)

Original comment by kobalicek.petr on 13 Oct 2011 at 4:02

from fog.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024
thank you for your explaining :)

i want to write a bindings to lua language, but msvc has issues about
msvcrt.dll :(

maybe a simple improve can change these imcompatibles between compilers and
use c++ interface with different compilers,  that is just export a extern
"c" function to initialze the virtual function table, and all your shell
class use functions in table, so any programs use fog can just link with
this c named function, without any other dependencies. so you can compile
your program with mingw or any other compilers, but link with fog compiled
with msvc, with a single symbol, maybe named _fog_api in fog.dll's symbol
table.
�� 2011-10-14 ����12:02�� <[email protected]>д����

Original comment by [email protected] on 13 Oct 2011 at 4:46

from fog.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024
I have used MSVC build Fog.dll and MinGW successfully. I just modify the Api.h 
file, changed this line:


extern FOG_API Api _api;

to this:


extern "C" FOG_API Api _api;

maybe you can think about this change, this makes different binary can work 
together :-)

Original comment by [email protected] on 14 Oct 2011 at 5:59

from fog.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024
This is good point.

I think that fog_api would be better and I'm going to change this early. It's 
good to know that it's possible to use mixture of compilers.

Original comment by kobalicek.petr on 14 Oct 2011 at 12:20

from fog.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024
The fog_api is now exported, thanks!

Original comment by kobalicek.petr on 16 Oct 2011 at 7:09

  • Changed state: Fixed

from fog.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024
Sorry, But, I still can't compile the MinGW version. It seems that some file 
need MMX support, but you don't add -mmmx flags to these files' command line.

D:\Work\Library\fog\Fog\Build>make
Scanning dependencies of target Fog
[  0%] Building CXX object CMakeFiles/Fog.dir/Fog/Core/Collection/Util.cpp.obj
In file included from D:/Work/Library/fog/Fog/Fog/Core/C++/IntrinMMX.h:12:0,
                 from D:/Work/Library/fog/Fog/Fog/Core/C++/StdHeaders.h:35,
                 from D:/Work/Library/fog/Fog/Fog/Core/C++/Base.h:19,
                 from D:/Work/Library/fog/Fog/Fog/Core/Global/Global.h:11,
                 from D:/Work/Library/fog/Fog/Fog/Core/Collection/Util.h:11,
                 from D:\Work\Library\fog\Fog\Fog\Core\Collection\Util.cpp:12:
d:\mingw\bin\../lib/gcc/i686-pc-mingw32/4.6.1/include/mmintrin.h:32:3: error: #e
rror "MMX instruction set not enabled"
In file included from D:/Work/Library/fog/Fog/Fog/Core/C++/StdHeaders.h:35:0,
                 from D:/Work/Library/fog/Fog/Fog/Core/C++/Base.h:19,
                 from D:/Work/Library/fog/Fog/Fog/Core/Global/Global.h:11,
                 from D:/Work/Library/fog/Fog/Fog/Core/Collection/Util.h:11,
                 from D:\Work\Library\fog\Fog\Fog\Core\Collection\Util.cpp:12:
D:/Work/Library/fog/Fog/Fog/Core/C++/IntrinMMX.h:128:3: error: '__m64' does not
name a type
make[2]: *** [CMakeFiles/Fog.dir/Fog/Core/Collection/Util.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Fog.dir/all] Error 2
make: *** [all] Error 2

Original comment by [email protected] on 20 Oct 2011 at 3:41

from fog.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024
Ok, reopening, I'm going to look more closely at this issue

Original comment by kobalicek.petr on 20 Oct 2011 at 3:29

  • Changed state: Accepted

from fog.

GoogleCodeExporter avatar GoogleCodeExporter commented on July 23, 2024
MinGW can compile fog now, thank you. I will do some benchmark about MSVC 
version and MinGW version (and also Qt4, cairo and gdiplus).

now I only have MSVC version of Fog, the result is likely fog is the fastest 
library on windows in these four. and the second is gdiplus (just slow 1/3 with 
fog), the third is cairo (slow 3 times than fog), the last is Qt4 (very very 
slow :-(

Original comment by [email protected] on 9 Nov 2011 at 4:45

from fog.

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.