Extension LibreOffice : bug de Giac compilé avec MSVC19

Librairie C++ de calcul formel/ C++ symbolic computation library

Modérateur : xcasadmin

cdeval
Messages : 192
Inscription : mer. juin 03, 2009 4:28 pm

Re: Extension LibreOffice : bug de Giac compilé avec MSVC19

Message par cdeval » jeu. juil. 20, 2023 1:57 pm

parisse a écrit :
dim. juil. 16, 2023 2:08 pm
Je viens de mettre en téléchargement une archive permettant de compiler giac_oo.lib avec Visual Studio 2022, testée avec WSL. Si quelqu'un peut tester...
https://www-fourier.univ-grenoble-alpes ... iacvcc.tgz
Je viens de tester avec Visual Studio 2019 et Cygwin64 (pas trop envie de surcharger mon portable avec WSL+distrib linux) : ça fonctionne !
Capture.JPG
Capture.JPG (30.47 Kio) Consulté 532 fois
J'ai dû faire quelques modifications, en plus des chemins vers Visual Studio bien sûr. L''édition des liens pour compiler example.exe a planté car cygwin a pris son propre link.exe. J'ai forcé l'utilisation de celui de MSVC et c'est tout bon.

J'ai par ailleurs tenté de compiler icas.exe mais je suppose que ce n'était pas encore prêt car j'obtiens :

Code : Tout sélectionner

$ ./icas.exe
// Maximum number of parallel threads 4
Added 0 synonyms
:1: syntax error  line 1 col 14 at home in @¶Ì[►☻
Je joins mon Makefile pour MSVC2019 :

Code : Tout sélectionner

# -*- mode:Makefile -*-
# Building xcas/icas with giac.dll
# run ./configure
# with export CXXFLAGS="-L/usr/X11R6/lib -L/usr/local/lib -I/usr/local/include"
# then make -f Makefilenew.win xcasdll / icasdll
# CXXFLAGS = -DHAVE_CONFIG_H -DIN_GIAC /I. /I.. /Ivcc /I'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include' /I'c:\Program Files\Microsoft SDKs\Windows\v7.0A\Include'  /EHsc /Zi /MDd /W3 # /D "_UNICODE" /D "UNICODE" -pg
CXXFLAGS = -DHAVE_CONFIG_H -DIN_GIAC /I. /I.. /I'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include' /I'C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\' /EHsc /Zi /MDd /MT /W3 # /D "_UNICODE" /D "UNICODE" # -pg
# CFLAGS = -DHAVE_CONFIG_H -DIN_GIAC /I. /I.. /Ivcc /I'C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.32.31326\include' /I'c:\Program Files\Microsoft SDKs\Windows\v7.0A\Include' /EHsc  /MDd /W3 #/Zi /D "_UNICODE" /D "UNICODE" # -pg
#CFLAGS = -DHAVE_CONFIG_H -DIN_GIAC /I. /I.. /Ivcc /I'C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.32.31326\include' /EHsc  /MDd /W3 #/Zi /D "_UNICODE" /D "UNICODE" # -pg

CXX=cl.exe
LNK='C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\link.exe'

# OBJS =  History.obj Input.obj Xcas1.obj Equation.obj Print.obj Tableur.obj Cfg.obj Flv_CStyle.obj Flve_Check_Button.obj Flve_Input.obj Flv_Style.obj Flv_Data_Source.obj Flve_Combo.obj Flv_List.obj Flv_Table.obj Graph.obj Graph3d.obj Editeur.obj Help1.obj gl2ps.obj
# GIACOBJS = sym2poly.obj gausspol.obj threaded.obj maple.obj ti89.obj mathml.obj moyal.obj misc.obj permu.obj quater.obj desolve.obj input_parser.obj symbolic.obj index.obj modpoly.obj modfactor.obj ezgcd.obj derive.obj solve.obj intg.obj intgab.obj risch.obj lin.obj series.obj subst.obj vecteur.obj sparse.obj graphtheory.obj csturm.obj tex.obj global.obj ifactor.obj alg_ext.obj gauss.obj isom.obj help.obj plot.obj plot3d.obj rpn.obj prog.obj pari.obj cocoa.obj unary.obj usual.obj identificateur.obj gen.obj input_lexer.obj # TmpLESystemSolver.obj TmpFGLM.obj 
GIACOBJS = input_lexer.obj sym2poly.obj gausspol.obj threaded.obj maple.obj ti89.obj mathml.obj moyal.obj misc.obj permu.obj quater.obj desolve.obj input_parser.obj symbolic.obj index.obj modpoly.obj modfactor.obj ezgcd.obj derive.obj solve.obj intg.obj intgab.obj risch.obj lin.obj series.obj subst.obj vecteur.obj sparse.obj csturm.obj tex.obj ifactor.obj alg_ext.obj gauss.obj isom.obj help.obj plot.obj plot3d.obj rpn.obj prog.obj pari.obj cocoa.obj optimization.obj signalprocessing.obj lpsolve.obj nautywrapper.obj graphtheory.obj graphe.obj markup.obj unary.obj usual.obj identificateur.obj gen.obj tinymt32.obj global.obj # caseval.obj graphic.obj libregexp.obj libunicode.obj qjsgiac.obj quickjs.obj quickjs-libc.obj 

LIBPATH = /LIBPATH:'C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\lib\x64' /LIBPATH:'C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64' /LIBPATH:'C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x64'
LIBS = mpir.lib mpfr.lib
#LIBS = gmp.lib

giac_oo.lib:   $(GIACOBJS) first.obj
	lib.exe /out:giac_oo.lib $(GIACOBJS) first.obj 
%.obj:	%.cc
	$(CXX) $(CXXFLAGS) /c $<
%.obj:	%.c
	$(CXX) $(CXXFLAGS) /c $<
example.exe:	example.obj giac_oo.lib
	$(LNK) /DEBUG $(LIBPATH) example.obj giac_oo.lib $(LIBS) shell32.lib
	cp example.exe ../bin
icas.exe:	icas.obj giac_oo.lib
	$(LNK) /DEBUG $(LIBPATH) icas.obj giac_oo.lib $(LIBS) 
# shell32.lib /NODEFAULTLIB:libcmt.lib
clean:
	rm -f $(GIACOBJS) $(OBJS) giac_oo.lib icas.obj example.obj


Répondre