Just to clear some things up. Terra requires the visual studio compiler for linking (creating of executables, and dlls) but not for compiling (create object files, or llvm output). Generally even with LLVM on windows, it is using the underlying linking tools from the VS compiler to work.
On Tue, Dec 6, 2016 at 4:34 PM, Will Rubin <[email protected]> wrote: > I was looking at Terra as a way to create sort of executable Lua scripts > that I could create on arbitrary Windows machines and then distribute to > other Windows machines as needed. A way to bundle Lua in a nice self > contained manner from, for example, a flash drive. A way to create non > tamperable scripts, so to speak. > > > --Will > > On 12/6/2016 7:26 PM, [email protected] wrote: > >> If you want to use Terra, you want to interact with C. You’d be calling C >> library functions, and compiled Terra libraries are compatible with C. >> >> LLVM is already part of Terra, don’t worry about LLVM. LLVM does not come >> with >> Visual Studio 2013. You just have to have that installed to compile your >> own >> executables or libraries. >> >> On Tuesday, December 6, 2016 7:25:54 PM EST Will Rubin wrote: >> >>> Thought that was referring to if I wanted to interact with C, which I >>> don't. >>> >>> LLMV is not a default part of Windows but may well come with Visual >>> Studio 2013. Have not idea though. >>> >>> Well I guess that explains things. Bummer. Was hoping Terra was complete >>> and stand alone. >>> >>> Thanks for the help. >>> --Will >>> >>> On 12/6/2016 7:20 PM, [email protected] wrote: >>> >>>> Hmm, from the “Getting Started” page: "for Windows you need a copy of >>>> Microsoft Visual Studio 2013 installed” >>>> >>>> So it does use Windows headers and libs, it seems. >>>> >>>> On Tuesday, December 6, 2016 7:19:17 PM EST [email protected] wrote: >>>> >>>>> It’s not paths, and LLVM is on Windows. Terra uses LLVM. I don’t think >>>>> you >>>>> need to install LLVM separately though, did you install Terra? >>>>> >>>>> On Tuesday, December 6, 2016 7:19:34 PM EST Will Rubin wrote: >>>>> >>>>>> Path is not it. Just tried a couple. >>>>>> >>>>>> Still seems that calling saveobj wants to call LLVM, which is not on >>>>>> Windows. (llvm: program not executable message on saveobj.) >>>>>> >>>>>> --Will >>>>>> >>>>>> On 12/6/2016 7:02 PM, [email protected] wrote: >>>>>> >>>>>>> You don’t 'install C’, don’t worry about that. You should have >>>>>>> everything >>>>>>> you need installed with Terra itself. Are you sure you got the same >>>>>>> error? I just ran exactly what you sent, and it compiled perfectly. >>>>>>> >>>>>>> I will say that you’ll want to use printf to show your output, unless >>>>>>> your >>>>>>> goal is to return the number of arguments + 1. >>>>>>> >>>>>>> On Tuesday, December 6, 2016 6:58:24 PM EST Will Rubin wrote: >>>>>>> >>>>>>>> The example on the first page assumes C is installed. I don't have C >>>>>>>> installed. That's the question I suppose ... do I need to have a C >>>>>>>> compiler installed? >>>>>>>> >>>>>>>> --Will >>>>>>>> >>>>>>>> On 12/6/2016 6:45 PM, [email protected] wrote: >>>>>>>> >>>>>>>>> Try using a terra function that takes (argc : int, argv : >>>>>>>>> &rawstring). >>>>>>>>> The >>>>>>>>> main method takes an int, the number of arguments, and an array of >>>>>>>>> that >>>>>>>>> many strings. >>>>>>>>> >>>>>>>>> This is comparable to the C main method. >>>>>>>>> >>>>>>>>> There is a great example of this on the main page of >>>>>>>>> http://terralang.org/. >>>>>>>>> >>>>>>>>> On Tuesday, December 6, 2016 6:43:40 PM EST Will Rubin wrote: >>>>>>>>> >>>>>>>>>> Lots of them: >>>>>>>>>> >>>>>>>>>> For example when I type into the REPL >>>>>>>>>> >>>>>>>>>> terra addone(a : int) >>>>>>>>>> >>>>>>>>>> return a + 1 >>>>>>>>>> >>>>>>>>>> end >>>>>>>>>> >>>>>>>>>> the function is created. >>>>>>>>>> >>>>>>>>>> typing print(addone(2)) shows the correct answer. >>>>>>>>>> >>>>>>>>>> then typing terralib.saveobj("addone",{main=addone}) gives: >>>>>>>>>> llvm: program not executable >>>>>>>>>> and a stack trace to saveobj >>>>>>>>>> >>>>>>>>>> (Other error messages are on the other thread I'm on. All seem to >>>>>>>>>> be >>>>>>>>>> about not finding things I'm now thinking would be in a C library >>>>>>>>>> or >>>>>>>>>> such.) >>>>>>>>>> >>>>>>>>>> Just tried terralib.saveObj(...) in case there's a case >>>>>>>>>> sensitivity >>>>>>>>>> issue. Got error message: >>>>>>>>>> >>>>>>>>>> [string "stdin"]:1: attempt to call field 'saveObj' (a nil value) >>>>>>>>>> >>>>>>>>>> stack traceback: >>>>>>>>>> [string "stdin"]:1: in main chunk >>>>>>>>>> >>>>>>>>>> --Will >>>>>>>>>> >>>>>>>>>> On 12/6/2016 6:33 PM, [email protected] wrote: >>>>>>>>>> >>>>>>>>>>> It would help if you could tell us the error. >>>>>>>>>>> >>>>>>>>>>> On Tuesday, December 6, 2016 6:33:55 PM EST Will Rubin wrote: >>>>>>>>>>> >>>>>>>>>>>> Hmmm ... just can't get an executable out of Terra. I'm on >>>>>>>>>>>> Windows >>>>>>>>>>>> and >>>>>>>>>>>> not Linux. Default Windows system. Unzipped Terra as per the >>>>>>>>>>>> documentation. Can get some of the REPL examples to work. As >>>>>>>>>>>> soon >>>>>>>>>>>> as >>>>>>>>>>>> I >>>>>>>>>>>> try terralib.saveobj("MyExecutable",{ main = myMain }) I get an >>>>>>>>>>>> error. >>>>>>>>>>>> >>>>>>>>>>>> Do I need to have a C compiler or such installed in order to >>>>>>>>>>>> create >>>>>>>>>>>> an >>>>>>>>>>>> executable? >>>>>>>>>>>> >>>>>>>>>>>> --Will >>>>>>>>>>>> _______________________________________________ >>>>>>>>>>>> terralang mailing list >>>>>>>>>>>> [email protected] >>>>>>>>>>>> https://mailman.stanford.edu/mailman/listinfo/terralang >>>>>>>>>>>> >>>>>>>>>>> _______________________________________________ >>>>>>>>>> terralang mailing list >>>>>>>>>> [email protected] >>>>>>>>>> https://mailman.stanford.edu/mailman/listinfo/terralang >>>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>> terralang mailing list >>>>>>>> [email protected] >>>>>>>> https://mailman.stanford.edu/mailman/listinfo/terralang >>>>>>>> >>>>>>> _______________________________________________ >>>>>> terralang mailing list >>>>>> [email protected] >>>>>> https://mailman.stanford.edu/mailman/listinfo/terralang >>>>>> >>>>> _______________________________________________ >>> terralang mailing list >>> [email protected] >>> https://mailman.stanford.edu/mailman/listinfo/terralang >>> >> >> > _______________________________________________ > terralang mailing list > [email protected] > https://mailman.stanford.edu/mailman/listinfo/terralang >
_______________________________________________ terralang mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/terralang
