Open 77Transam opened 4 months ago
@77Transam Thanks for your interest to contributing and solving issues. I advice you to read the CONTRIBUTE.md and - in general - the readme files to see how to contribute. In your case, we just need to add some unit tests for the new function you implemented in order to be accepted. If you have any questions i will be pleased to answer them. Thank you!
Sorry, I am new at this. I tired following the steps listed under the Windows section in readme.md to run the tests. When I typed in make at the command prompt, I get the error message; 'make' is not recognized as an internal or external command, operable program or batch file. Can you offer some assistance?
Maybe you have to add C:\MinGW\bin
to the path first. I don't know much about windows or what machine you have.Make sure you have MinGW downloaded first and foremost.
I have C:\mingw64\bin added to my path. I am also using VS code. Is there any other information that might help us figure this out?
It is your machine's problem that make is not recognized, i mean you can google it and maybe find a solution cause im not in control of your computer. Maybe try MinGW32-make
instead of make
. If this won't help, check this issue https://stackoverflow.com/questions/23723364/windows-7-make-is-not-recognized-as-an-internal-or-external-command-operabl
Thank you. The MingGW32-make
did work. After changing the directory to tests, I was not able to go any further ./ is not recognized by windows. I also was not able to locate the path to the file in question execute.
$ ./runUnitTests
bash: ./runUnitTests: No such file or directory
$ runUnitTests
bash: runUnitTests: command not found
I guess there's an error in building. Please read the log of the build after the cmake ..
or MinGW32-make
. MinGW32-make
should start building all the files, it should take approximately 1 minute to build and you should see all the files building up to 100%. If this don't happen for some reason, then the build failed some steps before.
I am getting errors when building on the hash_table and mat_1d
[ 67%] Building CXX object tests/CMakeFiles/runUnitTests.dir/hash_table/hash_table.cc.obj
In file included from C:\Users\att77\Projects\CPPProjects\AlgoPlus\tests\hash_table\hash_table.cc:1:
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/classes/hash_table/hash_table.h: In function 'std::ostream& operator<<(std::ostream&, hash_table<KeyType, ValueType>&)':
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/classes/hash_table/hash_table.h:140:3: warning: no return statement in function returning non-void [-Wreturn-type]
140 | }
| ^
[ 69%] Building CXX object tests/CMakeFiles/runUnitTests.dir/linalg/mat1d/mat_1d.cc.obj
In file included from C:\Users\att77\Projects\CPPProjects\AlgoPlus\tests\linalg\mat1d\mat_1d.cc:1:
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:29:29: error: expected ')' before '<' token
29 | explicit Mat1d(std::vector<T> v = {}) : __size(SIZE) {
| ~ ^
| )
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:29:39: error: expected unqualified-id before ')' token
29 | explicit Mat1d(std::vector<T> v = {}) : __size(SIZE) {
| ^
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h: In constructor 'Mat1d<T, SIZE>::Mat1d(T)':
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:58:12: error: returning a value from a constructor
58 | return *(this);
| ^~~~~~~
C:\Users\att77\Projects\CPPProjects\AlgoPlus\tests\linalg\mat1d\mat_1d.cc: In function 'void C_A_T_C_H_T_E_S_T_0()':
C:\Users\att77\Projects\CPPProjects\AlgoPlus\tests\linalg\mat1d\mat_1d.cc:9:17: error: no matching function for call to 'Mat1d<int, 5>::Mat1d()'
9 | Mat1d<int, 5> mat;
| ^~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(Mat1d<T, SIZE>&) [with T = int; long long unsigned int SIZE = 5]'
66 | explicit Mat1d(Mat1d &mat) : __size(SIZE) {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:12: note: candidate expects 1 argument, 0 provided
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(T) [with T = int; long long unsigned int SIZE = 5]'
54 | explicit Mat1d(const T val) noexcept {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:12: note: candidate expects 1 argument, 0 provided
C:\Users\att77\Projects\CPPProjects\AlgoPlus\tests\linalg\mat1d\mat_1d.cc:21:65: error: no matching function for call to 'Mat1d<char, 10>::Mat1d(<brace-enclosed initializer list>)'
21 | Mat1d<char, 10> mat2({'a','b','c','d','e','f','g','h','i','j'});
| ^
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(Mat1d<T, SIZE>&) [with T = char; long long unsigned int SIZE = 10]'
66 | explicit Mat1d(Mat1d &mat) : __size(SIZE) {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:25: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'Mat1d<char, 10>&'
66 | explicit Mat1d(Mat1d &mat) : __size(SIZE) {
| ~~~~~~~^~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(T) [with T = char; long long unsigned int SIZE = 10]'
54 | explicit Mat1d(const T val) noexcept {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:26: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'char'
54 | explicit Mat1d(const T val) noexcept {
| ~~~~~~~~^~~
C:\Users\att77\Projects\CPPProjects\AlgoPlus\tests\linalg\mat1d\mat_1d.cc: In function 'void C_A_T_C_H_T_E_S_T_2()':
C:\Users\att77\Projects\CPPProjects\AlgoPlus\tests\linalg\mat1d\mat_1d.cc:31:17: error: no matching function for call to 'Mat1d<int, 5>::Mat1d()'
31 | Mat1d<int, 5> mat1;
| ^~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(Mat1d<T, SIZE>&) [with T = int; long long unsigned int SIZE = 5]'
66 | explicit Mat1d(Mat1d &mat) : __size(SIZE) {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:12: note: candidate expects 1 argument, 0 provided
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(T) [with T = int; long long unsigned int SIZE = 5]'
54 | explicit Mat1d(const T val) noexcept {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:12: note: candidate expects 1 argument, 0 provided
C:\Users\att77\Projects\CPPProjects\AlgoPlus\tests\linalg\mat1d\mat_1d.cc:44:18: error: no matching function for call to 'Mat1d<char, 5>::Mat1d()'
44 | Mat1d<char, 5> mat3;
| ^~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(Mat1d<T, SIZE>&) [with T = char; long long unsigned int SIZE = 5]'
66 | explicit Mat1d(Mat1d &mat) : __size(SIZE) {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:12: note: candidate expects 1 argument, 0 provided
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(T) [with T = char; long long unsigned int SIZE = 5]'
54 | explicit Mat1d(const T val) noexcept {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:12: note: candidate expects 1 argument, 0 provided
C:\Users\att77\Projects\CPPProjects\AlgoPlus\tests\linalg\mat1d\mat_1d.cc:49:18: error: no matching function for call to 'Mat1d<char, 5>::Mat1d()'
49 | Mat1d<char, 5> mat4;
| ^~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(Mat1d<T, SIZE>&) [with T = char; long long unsigned int SIZE = 5]'
66 | explicit Mat1d(Mat1d &mat) : __size(SIZE) {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:12: note: candidate expects 1 argument, 0 provided
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(T) [with T = char; long long unsigned int SIZE = 5]'
54 | explicit Mat1d(const T val) noexcept {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:12: note: candidate expects 1 argument, 0 provided
C:\Users\att77\Projects\CPPProjects\AlgoPlus\tests\linalg\mat1d\mat_1d.cc: In function 'void C_A_T_C_H_T_E_S_T_4()':
C:\Users\att77\Projects\CPPProjects\AlgoPlus\tests\linalg\mat1d\mat_1d.cc:61:43: error: no matching function for call to 'Mat1d<char, 5>::Mat1d(<brace-enclosed initializer list>)'
61 | Mat1d<char, 5> mat({'a','b','c','d','e'});
| ^
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(Mat1d<T, SIZE>&) [with T = char; long long unsigned int SIZE = 5]'
66 | explicit Mat1d(Mat1d &mat) : __size(SIZE) {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:25: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'Mat1d<char, 5>&'
66 | explicit Mat1d(Mat1d &mat) : __size(SIZE) {
| ~~~~~~~^~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(T) [with T = char; long long unsigned int SIZE = 5]'
54 | explicit Mat1d(const T val) noexcept {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:26: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'char'
54 | explicit Mat1d(const T val) noexcept {
| ~~~~~~~~^~~
C:\Users\att77\Projects\CPPProjects\AlgoPlus\tests\linalg\mat1d\mat_1d.cc:69:69: error: no matching function for call to 'Mat1d<std::__cxx11::basic_string<char>, 5>::Mat1d(<brace-enclosed initializer list>)'
69 | Mat1d<std::string, 5> mat2({"hello", "world", "we", "are", "csrt"});
| ^
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(Mat1d<T, SIZE>&) [with T = std::__cxx11::basic_string<char>; long long unsigned int SIZE = 5]'
66 | explicit Mat1d(Mat1d &mat) : __size(SIZE) {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:66:25: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'Mat1d<std::__cxx11::basic_string<char>, 5>&'
66 | explicit Mat1d(Mat1d &mat) : __size(SIZE) {
| ~~~~~~~^~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:12: note: candidate: 'Mat1d<T, SIZE>::Mat1d(T) [with T = std::__cxx11::basic_string<char>; long long unsigned int SIZE = 5]'
54 | explicit Mat1d(const T val) noexcept {
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:54:26: note: no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'std::__cxx11::basic_string<char>'
54 | explicit Mat1d(const T val) noexcept {
| ~~~~~~~~^~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h: In member function 'T& Mat1d<T, SIZE>::operator[](size_t) [with T = int; long long unsigned int SIZE = 5]':
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:148:5: warning: control reaches end of non-void function [-Wreturn-type]
148 | catch(std::invalid_argument &e){
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h: In member function 'T& Mat1d<T, SIZE>::operator[](size_t) [with T = char; long long unsigned int SIZE = 10]':
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:148:5: warning: control reaches end of non-void function [-Wreturn-type]
148 | catch(std::invalid_argument &e){
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h: In member function 'Mat1d<T, SIZE>& Mat1d<T, SIZE>::operator=(Mat1d<T, SIZE>&) [with T = char; long long unsigned int SIZE = 5]':
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:97:5: warning: control reaches end of non-void function [-Wreturn-type]
97 | catch(std::logic_error &e){
| ^~~~~
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h: In member function 'T& Mat1d<T, SIZE>::operator[](size_t) [with T = char; long long unsigned int SIZE = 5]':
C:/Users/att77/Projects/CPPProjects/AlgoPlus/src/linalg/mat_1d.h:148:5: warning: control reaches end of non-void function [-Wreturn-type]
148 | catch(std::invalid_argument &e){
| ^~~~~
MinGW32-make[2]: *** [tests\CMakeFiles\runUnitTests.dir\build.make:511: tests/CMakeFiles/runUnitTests.dir/linalg/mat1d/mat_1d.cc.obj] Error 1
MinGW32-make[1]: *** [CMakeFiles\Makefile2:97: tests/CMakeFiles/runUnitTests.dir/all] Error 2
MinGW32-make: *** [makefile:100: all] Error 2
Created a copy constructor for the heap.