Compiling c++ script with external libraries, not working












-1















I can't seem to get this working. I have a c++ script that i haven't written myself, that i need to compile with g++. The start of the script looks like this:



#include "x.hh"
#include "y.hh"

#include <iostream>
...


I understand that when using include with quotation marks, that means there are external libraries that have to be included when doing the compiling. The header files, x.hh and y.hh, as well as the files x.cc and y.cc (wich i guess are the libraries) plus the main script are all in the same folder. I've tried to compile them with:



g++ Documents/Cpp/script.cc -o script -L Documents/Cpp -lx -ly


This returns the error:



/usr/bin/ld cannot find -lx
/usr/bin/ld cannot find -ly
collect2 returned 1 exit status


The search path isn't the same as i specified. Even if I write:



g++ Documents/Cpp/script.cc -o script -L sdfsdf/sdfsd-lx -ly


It still looks in /usr/bin/ld folder. No matter what i write in -L, I cant get it to work. How?










share|improve this question

























  • I think you are confusing source files (x.cc) and header files (x.hh) with shared library objects (x.so). Source files are compiled, header files are included, and shared libraries are linked.

    – Andrea Corbellini
    Sep 25 '13 at 16:49
















-1















I can't seem to get this working. I have a c++ script that i haven't written myself, that i need to compile with g++. The start of the script looks like this:



#include "x.hh"
#include "y.hh"

#include <iostream>
...


I understand that when using include with quotation marks, that means there are external libraries that have to be included when doing the compiling. The header files, x.hh and y.hh, as well as the files x.cc and y.cc (wich i guess are the libraries) plus the main script are all in the same folder. I've tried to compile them with:



g++ Documents/Cpp/script.cc -o script -L Documents/Cpp -lx -ly


This returns the error:



/usr/bin/ld cannot find -lx
/usr/bin/ld cannot find -ly
collect2 returned 1 exit status


The search path isn't the same as i specified. Even if I write:



g++ Documents/Cpp/script.cc -o script -L sdfsdf/sdfsd-lx -ly


It still looks in /usr/bin/ld folder. No matter what i write in -L, I cant get it to work. How?










share|improve this question

























  • I think you are confusing source files (x.cc) and header files (x.hh) with shared library objects (x.so). Source files are compiled, header files are included, and shared libraries are linked.

    – Andrea Corbellini
    Sep 25 '13 at 16:49














-1












-1








-1








I can't seem to get this working. I have a c++ script that i haven't written myself, that i need to compile with g++. The start of the script looks like this:



#include "x.hh"
#include "y.hh"

#include <iostream>
...


I understand that when using include with quotation marks, that means there are external libraries that have to be included when doing the compiling. The header files, x.hh and y.hh, as well as the files x.cc and y.cc (wich i guess are the libraries) plus the main script are all in the same folder. I've tried to compile them with:



g++ Documents/Cpp/script.cc -o script -L Documents/Cpp -lx -ly


This returns the error:



/usr/bin/ld cannot find -lx
/usr/bin/ld cannot find -ly
collect2 returned 1 exit status


The search path isn't the same as i specified. Even if I write:



g++ Documents/Cpp/script.cc -o script -L sdfsdf/sdfsd-lx -ly


It still looks in /usr/bin/ld folder. No matter what i write in -L, I cant get it to work. How?










share|improve this question
















I can't seem to get this working. I have a c++ script that i haven't written myself, that i need to compile with g++. The start of the script looks like this:



#include "x.hh"
#include "y.hh"

#include <iostream>
...


I understand that when using include with quotation marks, that means there are external libraries that have to be included when doing the compiling. The header files, x.hh and y.hh, as well as the files x.cc and y.cc (wich i guess are the libraries) plus the main script are all in the same folder. I've tried to compile them with:



g++ Documents/Cpp/script.cc -o script -L Documents/Cpp -lx -ly


This returns the error:



/usr/bin/ld cannot find -lx
/usr/bin/ld cannot find -ly
collect2 returned 1 exit status


The search path isn't the same as i specified. Even if I write:



g++ Documents/Cpp/script.cc -o script -L sdfsdf/sdfsd-lx -ly


It still looks in /usr/bin/ld folder. No matter what i write in -L, I cant get it to work. How?







g++






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Sep 25 '13 at 16:50









Andrea Corbellini

12.1k24465




12.1k24465










asked Sep 25 '13 at 13:54









user2812393user2812393

111




111













  • I think you are confusing source files (x.cc) and header files (x.hh) with shared library objects (x.so). Source files are compiled, header files are included, and shared libraries are linked.

    – Andrea Corbellini
    Sep 25 '13 at 16:49



















  • I think you are confusing source files (x.cc) and header files (x.hh) with shared library objects (x.so). Source files are compiled, header files are included, and shared libraries are linked.

    – Andrea Corbellini
    Sep 25 '13 at 16:49

















I think you are confusing source files (x.cc) and header files (x.hh) with shared library objects (x.so). Source files are compiled, header files are included, and shared libraries are linked.

– Andrea Corbellini
Sep 25 '13 at 16:49





I think you are confusing source files (x.cc) and header files (x.hh) with shared library objects (x.so). Source files are compiled, header files are included, and shared libraries are linked.

– Andrea Corbellini
Sep 25 '13 at 16:49










1 Answer
1






active

oldest

votes


















0














You can use -I to specify an include directory.



So the "compile command" should be like this:



g++ -o output_name -I/include/path source.cpp


Using your source name and include path:



g++ -o script -I~/Documents/Cpp ~/Documents/Cpp/script.cc 





share|improve this answer

























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "89"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f349912%2fcompiling-c-script-with-external-libraries-not-working%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    You can use -I to specify an include directory.



    So the "compile command" should be like this:



    g++ -o output_name -I/include/path source.cpp


    Using your source name and include path:



    g++ -o script -I~/Documents/Cpp ~/Documents/Cpp/script.cc 





    share|improve this answer






























      0














      You can use -I to specify an include directory.



      So the "compile command" should be like this:



      g++ -o output_name -I/include/path source.cpp


      Using your source name and include path:



      g++ -o script -I~/Documents/Cpp ~/Documents/Cpp/script.cc 





      share|improve this answer




























        0












        0








        0







        You can use -I to specify an include directory.



        So the "compile command" should be like this:



        g++ -o output_name -I/include/path source.cpp


        Using your source name and include path:



        g++ -o script -I~/Documents/Cpp ~/Documents/Cpp/script.cc 





        share|improve this answer















        You can use -I to specify an include directory.



        So the "compile command" should be like this:



        g++ -o output_name -I/include/path source.cpp


        Using your source name and include path:



        g++ -o script -I~/Documents/Cpp ~/Documents/Cpp/script.cc 






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Sep 25 '13 at 16:51









        Andrea Corbellini

        12.1k24465




        12.1k24465










        answered Sep 25 '13 at 14:25









        PeppeDAlterioPeppeDAlterio

        4,62411110




        4,62411110






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Ask Ubuntu!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f349912%2fcompiling-c-script-with-external-libraries-not-working%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Human spaceflight

            Can not write log (Is /dev/pts mounted?) - openpty in Ubuntu-on-Windows?

            張江高科駅