digitalmars.D.learn - How can I execute C++ functions from Dlang?
- =?UTF-8?B?dGhlUGVuZ8O8aW4=?= (28/28) Aug 13 2023 hola a todos quisiera ejecutar este codigo de c++
- Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= (25/53) Aug 14 2023 ?Tu usas ambos de 64 bit o 32 bit para compiladores?
- =?UTF-8?B?dGhlUGVuZ8O8aW4=?= (2/28) Aug 19 2023 que compilador estas usando a la hora de hacer el del .cpp
- =?UTF-8?B?dGhlUGVuZ8O8aW4=?= (9/74) Aug 19 2023 estoy usando el de 64 o almenos eso es lo que me dice cuando hago
- Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= (10/99) Aug 19 2023 Estoy escribendo en mi celular. Entonces no tomo ayudar de Google
- =?UTF-8?B?dGhlUGVuZ8O8aW4=?= (6/107) Aug 19 2023 - ok, don't worry, Your spanish is so right, hehe I don't
- =?UTF-8?B?dGhlUGVuZ8O8aW4=?= (3/104) Aug 19 2023 - te refieres al ldc de Dlang en windows no?
- Ferhat =?UTF-8?B?S3VydHVsbXXFnw==?= (7/35) Aug 19 2023 Sí, yo queria decir esto. Lo puedes descargar aqui:
- Sergey (4/8) Aug 14 2023 Hola.
- =?UTF-8?B?dGhlUGVuZ8O8aW4=?= (5/13) Aug 19 2023 estoy en windows y me sale este error:
hola a todos quisiera ejecutar este codigo de c++ ` #include \<iostream> using namespace std; int main() { return 0; } int foo(int i, int j) { cout \<\< i\<\<endl; cout \<\< j \<\< endl; return 7; } ` con este comando: g++ -shared app2.cpp -o app2.obj y este es mi codigo en Dlang ` import core.stdc.stdio; import std; alias print = writeln; extern(C++) int foo(int i, int j); void main () { foo(3,6); } ` con este comando: dmd app1.d app2.obj pero tengo este error: lld-link: error: app2.obj: unknown file type Error: linker exited with status 1
Aug 13 2023
On Monday, 14 August 2023 at 06:40:04 UTC, thePengüin wrote:hola a todos quisiera ejecutar este codigo de c++ ` #include \<iostream> using namespace std; int main() { return 0; } int foo(int i, int j) { cout \<\< i\<\<endl; cout \<\< j \<\< endl; return 7; } ` con este comando: g++ -shared app2.cpp -o app2.obj y este es mi codigo en Dlang ` import core.stdc.stdio; import std; alias print = writeln; extern(C++) int foo(int i, int j); void main () { foo(3,6); } ` con este comando: dmd app1.d app2.obj pero tengo este error: lld-link: error: app2.obj: unknown file type Error: linker exited with status 1?Tu usas ambos de 64 bit o 32 bit para compiladores? No puedo reproducir tu codigo. Pero yo puedo ejecutar esto en Windows: cppcode.cpp ```d #include <iostream> using namespace std; // no nececitamos un main aqui int foo(int i, int j) { cout << i << endl; cout << j << endl; return 7; } ``` main.d ```d extern(C++) int foo(int i, int j); void main () { foo(3,6); } ``` La compulacion: cl cppcode.cpp -c dmd main.d cppcode.obj
Aug 14 2023
On Monday, 14 August 2023 at 07:36:31 UTC, Ferhat Kurtulmuş wrote:On Monday, 14 August 2023 at 06:40:04 UTC, thePengüin wrote:que compilador estas usando a la hora de hacer el del .cpp[...]?Tu usas ambos de 64 bit o 32 bit para compiladores? No puedo reproducir tu codigo. Pero yo puedo ejecutar esto en Windows: cppcode.cpp ```d #include <iostream> using namespace std; // no nececitamos un main aqui int foo(int i, int j) { cout << i << endl; cout << j << endl; return 7; } ``` main.d ```d extern(C++) int foo(int i, int j); void main () { foo(3,6); } ``` La compulacion: cl cppcode.cpp -c dmd main.d cppcode.obj
Aug 19 2023
On Monday, 14 August 2023 at 07:36:31 UTC, Ferhat Kurtulmuş wrote:On Monday, 14 August 2023 at 06:40:04 UTC, thePengüin wrote:estoy usando el de 64 o almenos eso es lo que me dice cuando hago un dmd --version: DMD64 D Compiler v2.104.2-dirty Copyright (C) 1999-2023 by The D Language Foundation, All Rights Reserved written by Walter Bright por cierto "cl" en ves de g++, creo que es la abreviatura de "compilador" no? porque cl no me sale como comando en el mingw64x84hola a todos quisiera ejecutar este codigo de c++ ` #include \<iostream> using namespace std; int main() { return 0; } int foo(int i, int j) { cout \<\< i\<\<endl; cout \<\< j \<\< endl; return 7; } ` con este comando: g++ -shared app2.cpp -o app2.obj y este es mi codigo en Dlang ` import core.stdc.stdio; import std; alias print = writeln; extern(C++) int foo(int i, int j); void main () { foo(3,6); } ` con este comando: dmd app1.d app2.obj pero tengo este error: lld-link: error: app2.obj: unknown file type Error: linker exited with status 1?Tu usas ambos de 64 bit o 32 bit para compiladores? No puedo reproducir tu codigo. Pero yo puedo ejecutar esto en Windows: cppcode.cpp ```d #include <iostream> using namespace std; // no nececitamos un main aqui int foo(int i, int j) { cout << i << endl; cout << j << endl; return 7; } ``` main.d ```d extern(C++) int foo(int i, int j); void main () { foo(3,6); } ``` La compulacion: cl cppcode.cpp -c dmd main.d cppcode.obj
Aug 19 2023
On Saturday, 19 August 2023 at 19:41:47 UTC, thePengüin wrote:On Monday, 14 August 2023 at 07:36:31 UTC, Ferhat Kurtulmuş wrote:Estoy escribendo en mi celular. Entonces no tomo ayudar de Google translate. Mi español no es bueno, disculpa. Nunca uso un mesclar de mingw-g++ y algun d compilador en Windows. cl es el comando del Visual C++. No sé si g++ y dmd son binarias compatibles. Yo siempre uso LDC en Windows. Creo que tu deberias installar e uso Visual studio c++ community edition. Los compiladores msvc juega bien con los compiladores de dlang. Que es cl.exe: https://learn.microsoft.com/en-us/cpp/build/reference/compiler-options?view=msvc-170On Monday, 14 August 2023 at 06:40:04 UTC, thePengüin wrote:estoy usando el de 64 o almenos eso es lo que me dice cuando hago un dmd --version: DMD64 D Compiler v2.104.2-dirty Copyright (C) 1999-2023 by The D Language Foundation, All Rights Reserved written by Walter Bright por cierto "cl" en ves de g++, creo que es la abreviatura de "compilador" no? porque cl no me sale como comando en el mingw64x84hola a todos quisiera ejecutar este codigo de c++ ` #include \<iostream> using namespace std; int main() { return 0; } int foo(int i, int j) { cout \<\< i\<\<endl; cout \<\< j \<\< endl; return 7; } ` con este comando: g++ -shared app2.cpp -o app2.obj y este es mi codigo en Dlang ` import core.stdc.stdio; import std; alias print = writeln; extern(C++) int foo(int i, int j); void main () { foo(3,6); } ` con este comando: dmd app1.d app2.obj pero tengo este error: lld-link: error: app2.obj: unknown file type Error: linker exited with status 1?Tu usas ambos de 64 bit o 32 bit para compiladores? No puedo reproducir tu codigo. Pero yo puedo ejecutar esto en Windows: cppcode.cpp ```d #include <iostream> using namespace std; // no nececitamos un main aqui int foo(int i, int j) { cout << i << endl; cout << j << endl; return 7; } ``` main.d ```d extern(C++) int foo(int i, int j); void main () { foo(3,6); } ``` La compulacion: cl cppcode.cpp -c dmd main.d cppcode.obj
Aug 19 2023
On Saturday, 19 August 2023 at 20:16:47 UTC, Ferhat Kurtulmuş wrote:On Saturday, 19 August 2023 at 19:41:47 UTC, thePengüin wrote:- ok, don't worry, Your spanish is so right, hehe I don't actually english cause I'm feel lazy xd. - gracias no sabia que existia el Visual C++, gracias por el dato ahora mismo lo busco.On Monday, 14 August 2023 at 07:36:31 UTC, Ferhat Kurtulmuş wrote:Estoy escribendo en mi celular. Entonces no tomo ayudar de Google translate. Mi español no es bueno, disculpa. Nunca uso un mesclar de mingw-g++ y algun d compilador en Windows. cl es el comando del Visual C++. No sé si g++ y dmd son binarias compatibles. Yo siempre uso LDC en Windows. Creo que tu deberias installar e uso Visual studio c++ community edition. Los compiladores msvc juega bien con los compiladores de dlang. Que es cl.exe: https://learn.microsoft.com/en-us/cpp/build/reference/compiler-options?view=msvc-170On Monday, 14 August 2023 at 06:40:04 UTC, thePengüin wrote:estoy usando el de 64 o almenos eso es lo que me dice cuando hago un dmd --version: DMD64 D Compiler v2.104.2-dirty Copyright (C) 1999-2023 by The D Language Foundation, All Rights Reserved written by Walter Bright por cierto "cl" en ves de g++, creo que es la abreviatura de "compilador" no? porque cl no me sale como comando en el mingw64x84hola a todos quisiera ejecutar este codigo de c++ ` #include \<iostream> using namespace std; int main() { return 0; } int foo(int i, int j) { cout \<\< i\<\<endl; cout \<\< j \<\< endl; return 7; } ` con este comando: g++ -shared app2.cpp -o app2.obj y este es mi codigo en Dlang ` import core.stdc.stdio; import std; alias print = writeln; extern(C++) int foo(int i, int j); void main () { foo(3,6); } ` con este comando: dmd app1.d app2.obj pero tengo este error: lld-link: error: app2.obj: unknown file type Error: linker exited with status 1?Tu usas ambos de 64 bit o 32 bit para compiladores? No puedo reproducir tu codigo. Pero yo puedo ejecutar esto en Windows: cppcode.cpp ```d #include <iostream> using namespace std; // no nececitamos un main aqui int foo(int i, int j) { cout << i << endl; cout << j << endl; return 7; } ``` main.d ```d extern(C++) int foo(int i, int j); void main () { foo(3,6); } ``` La compulacion: cl cppcode.cpp -c dmd main.d cppcode.obj
Aug 19 2023
On Saturday, 19 August 2023 at 20:16:47 UTC, Ferhat Kurtulmuş wrote:On Saturday, 19 August 2023 at 19:41:47 UTC, thePengüin wrote:- te refieres al ldc de Dlang en windows no?On Monday, 14 August 2023 at 07:36:31 UTC, Ferhat Kurtulmuş wrote:Estoy escribendo en mi celular. Entonces no tomo ayudar de Google translate. Mi español no es bueno, disculpa. Nunca uso un mesclar de mingw-g++ y algun d compilador en Windows. cl es el comando del Visual C++. No sé si g++ y dmd son binarias compatibles. Yo siempre uso LDC en Windows. Creo que tu deberias installar e uso Visual studio c++ community edition. Los compiladores msvc juega bien con los compiladores de dlang. Que es cl.exe: https://learn.microsoft.com/en-us/cpp/build/reference/compiler-options?view=msvc-170On Monday, 14 August 2023 at 06:40:04 UTC, thePengüin wrote:estoy usando el de 64 o almenos eso es lo que me dice cuando hago un dmd --version: DMD64 D Compiler v2.104.2-dirty Copyright (C) 1999-2023 by The D Language Foundation, All Rights Reserved written by Walter Bright por cierto "cl" en ves de g++, creo que es la abreviatura de "compilador" no? porque cl no me sale como comando en el mingw64x84hola a todos quisiera ejecutar este codigo de c++ ` #include \<iostream> using namespace std; int main() { return 0; } int foo(int i, int j) { cout \<\< i\<\<endl; cout \<\< j \<\< endl; return 7; } ` con este comando: g++ -shared app2.cpp -o app2.obj y este es mi codigo en Dlang ` import core.stdc.stdio; import std; alias print = writeln; extern(C++) int foo(int i, int j); void main () { foo(3,6); } ` con este comando: dmd app1.d app2.obj pero tengo este error: lld-link: error: app2.obj: unknown file type Error: linker exited with status 1?Tu usas ambos de 64 bit o 32 bit para compiladores? No puedo reproducir tu codigo. Pero yo puedo ejecutar esto en Windows: cppcode.cpp ```d #include <iostream> using namespace std; // no nececitamos un main aqui int foo(int i, int j) { cout << i << endl; cout << j << endl; return 7; } ``` main.d ```d extern(C++) int foo(int i, int j); void main () { foo(3,6); } ``` La compulacion: cl cppcode.cpp -c dmd main.d cppcode.obj
Aug 19 2023
On Saturday, 19 August 2023 at 20:50:23 UTC, thePengüin wrote:On Saturday, 19 August 2023 at 20:16:47 UTC, Ferhat Kurtulmuş wrote:Sí, yo queria decir esto. Lo puedes descargar aqui: https://github.com/ldc-developers/ldc/releases/tag/v1.33.0 Por favor te recorda que cuando tu installaste msvc, siempre ejecuta tus comandos del compiladores (cl, ldc2 o dmd, etc.) en terminal del msvc. Puedes buscarlo en menu de inicio de windows porque automatiza link con bibliotheca de stdc++.On Saturday, 19 August 2023 at 19:41:47 UTC, thePengüin wrote:- te refieres al ldc de Dlang en windows no?On Monday, 14 August 2023 at 07:36:31 UTC, Ferhat Kurtulmuş wrote:Estoy escribendo en mi celular. Entonces no tomo ayudar de Google translate. Mi español no es bueno, disculpa. Nunca uso un mesclar de mingw-g++ y algun d compilador en Windows. cl es el comando del Visual C++. No sé si g++ y dmd son binarias compatibles. Yo siempre uso LDC en Windows. Creo que tu deberias installar e uso Visual studio c++ community edition. Los compiladores msvc juega bien con los compiladores de dlang. Que es cl.exe: https://learn.microsoft.com/en-us/cpp/build/reference/compiler-options?view=msvc-170[...]estoy usando el de 64 o almenos eso es lo que me dice cuando hago un dmd --version: DMD64 D Compiler v2.104.2-dirty Copyright (C) 1999-2023 by The D Language Foundation, All Rights Reserved written by Walter Bright por cierto "cl" en ves de g++, creo que es la abreviatura de "compilador" no? porque cl no me sale como comando en el mingw64x84
Aug 19 2023
On Monday, 14 August 2023 at 06:40:04 UTC, thePengüin wrote:hola a todos quisiera ejecutar este codigo de c++ Error: linker exited with status 1Hola. On the page https://dlang.org/spec/cpp_interface.html commands to run also have different flags. Did you try them?g++ -c foo.cpp dmd bar.d foo.o -L-lstdc++ && ./bar
Aug 14 2023
On Monday, 14 August 2023 at 07:38:46 UTC, Sergey wrote:On Monday, 14 August 2023 at 06:40:04 UTC, thePengüin wrote:estoy en windows y me sale este error: Error: unrecognized file extension o el g++ -c me da de resultado un archivo con .o y el dmd solo me permite con .obj pero ni aun asi me funcionahola a todos quisiera ejecutar este codigo de c++ Error: linker exited with status 1Hola. On the page https://dlang.org/spec/cpp_interface.html commands to run also have different flags. Did you try them?g++ -c foo.cpp dmd bar.d foo.o -L-lstdc++ && ./bar
Aug 19 2023