Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
Adding Linker Options To CodeBlocks
EverydayDiesel:
Hello,
I am trying to get this program working
--- Code: ---#include <iostream>
#include <thread>
#include <future>
using namespace std;
void initiazer(std::promise<int> * promObj)
{
std::cout<<"Inside Thread"<<std::endl; promObj->set_value(35);
}
int main()
{
std::promise<int> promiseObj;
std::future<int> futureObj = promiseObj.get_future();
std::thread th(initiazer, &promiseObj);
std::cout<<futureObj.get()<<std::endl;
th.join();
return 0;
}
--- End code ---
--- Code: ---terminate called after throwing an instance of 'std::system_error'
what(): Enable multithreading to use std::thread: Operation not permitted
Aborted
Process returned 134
--- End code ---
I went to PROJECT --> BUILD OPTIONS --> [Select project name in top left] --> Check -std=c++11
then under
LINKER SETTINGS --> OTHER LINKER OPTIONS --> I typed -pthread
Why wont this application compile?
Thanks in advance
stahta01:
Please read this FAQ http://wiki.codeblocks.org/index.php?title=FAQ-Compiling_%28general%29#Q:_How_do_I_report_a_compilation_problem_on_the_forums.3F
And, the rules. http://forums.codeblocks.org/index.php/topic,9996.0.html
And, if you think it is within the rules post at least a full rebuild log in code tags.
Note: I do NOT do C++ threading; but, your error looks more like a run-time message instead of a compiler/linker message.
Tim S.
yvesdm3000:
http://stackoverflow.com/questions/19463602/compiling-multithread-code-with-g
It's not related to CodeBlocks
Yves
EverydayDiesel:
--- Quote from: yvesdm3000 on January 25, 2017, 07:24:43 am ---http://stackoverflow.com/questions/19463602/compiling-multithread-code-with-g
It's not related to CodeBlocks
Yves
--- End quote ---
Thank you for the response. I realize this is not related to code blocks directly but my question is how do I configure codeblocks with these options.
I saw the thread that you posted before I created this thread.
I go to PROJECT --> BUILD OPTIONS --> [Select project name in top left] --> OTHER COMPILER OPTIONS -->
In the box i append one of the following (I have tried all 3 and none work)
--- Code: ----pthread -lpthread -Wl,--no-as-needed
--- End code ---
or
--- Code: ----Wl,--no-as-needed
--- End code ---
or
--- Code: ----Wl,--no-as-needed -lpthread
--- End code ---
Am I typing this in the correct spot? my g++ is 4.8.4
Thanks to any information you guys can provide
EverydayDiesel:
If i bypass codeblocks completely then it works
--- Code: ---$ g++ -c main.cpp -pthread -std=c++11
$ g++ main.o -o main.out -pthread -std=c++11
$ ./main.out
Inside Thread
35
--- End code ---
this code will compile in codeblocks but the program will not execute (it gives the original error)
EDIT:
clean your project and it will work
Navigation
[0] Message Index
[#] Next page
Go to full version