Hot answers tagged

10

A library's header file (the one that ends with the .h extension) doesn't contain function definitions. Instead, it contains the library's resources that are available for you to use. These resources include Function declarations (aka prototypes). Variables. Structs. Type definitions. For more information, you may have a look at this answer and watch the ...


8

Did you compile it using make? If not (and why not?) did you remember to include the -lcs50 clang compile flag that links the library?


7

Follow the steps below, and see if it helps... [Optional, you may choose to not install Xcode as long as you have any text editor] On a Mac, make sure you have installed Xcode first of all. It's available on the Mac App Store for free, but is a hefty download. So, once downloaded, move further. Now, download the CS50 library from here. Now are the ...


6

I have had the same problem in CS50 2015 VMware appliance. I even include CS50.h library like that: #include<cs50.h> But I was keep getting error 1 of Undefined reference to `GetString' or 'GetInt' etc. What I did is just updating the appliance using this command on Gedit: update50 Update process continued for several minutes. As updates completed, ...


5

Download the cs50 from: http://mirror.cs50.net/library50/c/library50-c-5.zip Extract it. (You will get two files cs50.c and cs50.h) Now copy both the files to your default library folder. (which includes your stdio.h file) Now while writing your program use: #include < cs50.c > You can also copy the files to the folder containing your helloWorld.c file. ...


3

It depends on your compiler, but odds are the simplest method of installation is to: Download and unzip library50-c-5.zip. Copy cs50.c and cs50.h into the same directory as your own code.


3

It should be sufficient to update the IDE, using the update50 command, on the terminal. It is also possible that the announced changes take a few days or weeks to complete


2

What IDE version? It is displayed in the menu bar next to the cloud9 icon. You can version50 at the command line. Current version is 94 as of this writing. Did you run update50 as per the Updating section of pset1 specification? update50 should do the trick.


2

cs50.h is a header file. Header files are NOT linked. They are included. What is linked is a library binary file. If you have successfully installed the cs50 library according to the instructions here, then follow these steps to link it by default when executing make open up a terminal window (Ctrl + Alt + T) change directories to your home directory by ...


2

Good catch. Actually, c will never be populated with this command if (sscanf(line, " %i %c", &n, &c) == 1). It is a matching failure. From man sscanf: A conversion specification, which commences with a '%' (percent) character. A sequence of characters from the input is converted according to this specification, and the result is placed in the ...


1

1. Edit the Makefile From DESTDIR ?= /usr/local MANDIR ?= share/man/man3 To DESTDIR = /data/data/com.termux/files/usr/local MANDIR = /data/data/com.termux/files/usr/share/man/man3 In the Makefile, the question mark equal sign (?=) is for asking if the variable isn't defined. In this case just force it to use the specified path. 2. Build & Install ...


1

Hmmm..... So here's my question for you. WHICH fields are supposed to be updated in the headers when resizing to something other than 1? Hint: check50 is giving you a clue. If this answers your question, please click on the check mark to accept. Let's keep up on forum maintenance. ;-)


1

Compiler does not complain about missing cs50.h, so that looks right. The linker does complain, though, and that's probably because you did not pass -lcs50 when compiling (telling the linker to consider cs50 library). make likely pulls that list from the LDLIBS environment variable, so you can add it there, or create a makefile mentioning that lib.


1

Instead of getstring, it should be get_string.


1

As one can see on https://github.com/cs50/libcs50/tree/master/src those contain quite some code to keep you from messing up and provide a nice user interface. The simplest alternative would be scanf, which when used in a wrong way can easily lead to security problems ("buffer overflow") or wrong interpretation of results. It's also not always exactly ...


1

The compiler command is make test (unless you want to supply all the switches for clang). Notice that make echos to the terminal the actual clang command it uses.


1

Check your spelling of string. You spelt it as stirng it is spelled string


1

The string type is just a defined type of char* (a char pointer) which since it is a pointer has a size of 4 bytes.


1

Clang is telling you exactly what is going wrong..."unused variable 's'". Your code gets input from the user and stores it in a string variable s, then does nothing with it. If you do something with s the error goes away.


1

Are you using the virtual machine? If that's the case, then execute: update50 It will update your vm to the latest version. It will probably fix the issue. If you are not using the vm, the download the libraries from: https://github.com/cs50/library50-c


1

I solved the cs50.h problem by updating my appliance. For updating open the terminal in the appliance and type-- update50 After the process is completed, cs50.h will work..


1

In order to use the CS50 library, download it from here. Now, copy the files cs50.h and cs50.c to any arbitrary folder. Right click on the project, and got to Properties --> Configuration Properties --> C/C++ --> General... Include the path of the folder where the header files are to the additional include directories. Afterward, simply using #include ...


Only top voted, non community-wiki answers of a minimum length are eligible