Compiling c++ script with external libraries, not working
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++
add a comment |
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++
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
add a comment |
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++
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++
g++
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
add a comment |
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
add a comment |
1 Answer
1
active
oldest
votes
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
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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
add a comment |
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
add a comment |
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
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
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
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
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