Outils pour utilisateurs

Outils du site


tech:err_go_lang_et_langage_c

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
tech:err_go_lang_et_langage_c [2026/04/21 21:11] Jean-Baptistetech:err_go_lang_et_langage_c [2026/04/21 21:37] (Version actuelle) Jean-Baptiste
Ligne 96: Ligne 96:
 } }
 ~~~ ~~~
 +
 +
 +
 +## Err: go: no Go source files
 +
 +Compilation croisée avec du code Go contenant du C
 +
 +~~~
 +$ env GOOS=windows go build main.go 
 +go: no Go source files
 +~~~
 +
 +
 +### Solution
 +
 +~~~
 +$ env CGO_ENABLED=1 GOOS=windows go build main.go 
 +# runtime/cgo
 +gcc: error: unrecognized command-line option ‘-mthreads’; did you mean ‘-pthread’?
 +# runtime/cgo
 +gcc: error: unrecognized command-line option ‘-mthreads’; did you mean ‘-pthread’?
 +~~~
 +
 +Installer les deps pour compiler
 +~~~bash
 +sudo apt-get install gcc-multilib gcc-mingw-w64
 +~~~
 +
 +Lancer la compilation
 +~~~
 +$ env GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CXX=x86_64-w64-mingw32-g++ CC=x86_64-w64-mingw32-gcc go build main.go                                                                    
 +# command-line-arguments                                                                                                                                                                                          
 +./main.go:22:43: could not determine what C.factorial refers to                                                                                                                                                   
 +cgo:                                                                                                                                                                                                              
 +x86_64-w64-mingw32-gcc errors for preamble:                                                                                                                                                                       
 +./main.go:6:2: error: unknown type name 'uint'; did you mean 'int'?                                                                                                                                               
 +    6 | // uint factorial(uint N) {                                                                                                                                                                               
 +      |  ^~~~                                                                                                                                                                                                     
 +      |  int                                                                                                                                                                                                      
 +./main.go:6:17: error: unknown type name 'uint'; did you mean 'int'?
 +    6 | // uint factorial(uint N) {
 +      |                 ^~~~
 +      |                 int
 +~~~
 +
 +Remplacer les unsigned int (uint) par des int 
 +~~~bash
 +sed -i.bak -e 's/uint/int/g' main.go
 +env GOOS=windows GOARCH=amd64 CGO_ENABLED=1 CXX=x86_64-w64-mingw32-g++ CC=x86_64-w64-mingw32-gcc go build main.go
 +~~~
 +
 +C'est tout de même problématique
  
  
  
tech/err_go_lang_et_langage_c.1776798710.txt.gz · Dernière modification : de Jean-Baptiste

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki