Siema. Mam Borland Builder C++ 10.2 i chce zainstalować na nim SFML. Wszystko fajnie działa lecz po wklejeniu pewnego kodu wywala sporo błędów (kod z Exaples/voID)
#pragma hdrstop
#pragma argsused
#ifdef _WIN32
#include <tchar.h>
#else
typedef char _TCHAR;
#define _tmain main
#endif
#include <iostream>
#include <cstdlib>
#include <iostream.h>
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
////////////////////////////////////////////////////////////
// Headers
////////////////////////////////////////////////////////////
#include <SFML/Audio.hpp>
#include <SFML/Network.hpp>
#include <iostream>
const sf::Uint8 audioData = 1;
const sf::Uint8 endOfStream = 2;
////////////////////////////////////////////////////////////
/// Specialization of audio recorder for sending recorded audio
/// data through the network
////////////////////////////////////////////////////////////
class NetworkRecorder : public sf::SoundRecorder
{
public:
////////////////////////////////////////////////////////////
/// Constructor
///
/// \param host Remote host to which send the recording data
/// \param port Port of the remote host
///
////////////////////////////////////////////////////////////
NetworkRecorder(const sf::IpAddress& host, unsigned short port) :
m_host(host),
m_port(port)
{
}
////////////////////////////////////////////////////////////
/// Destructor
///
/// \see SoundRecorder::~SoundRecorder()
///
////////////////////////////////////////////////////////////
~NetworkRecorder()
{
// Make sure to stop the recording thread
stop();
}
private:
////////////////////////////////////////////////////////////
/// \see SoundRecorder::onStart
///
////////////////////////////////////////////////////////////
virtual bool onStart()
{
if (m_socket.connect(m_host, m_port) == sf::Socket::Done)
{
std::cout << "Connected to server " << m_host << std::endl;
return true;
}
else
{
return false;
}
}
////////////////////////////////////////////////////////////
/// \see SoundRecorder::onProcessSamples
///
////////////////////////////////////////////////////////////
virtual bool onProcessSamples(const sf::Int16* samples, std::size_t sampleCount)
{
// Pack the audio samples into a network packet
sf::Packet packet;
packet << audioData;
packet.append(samples, sampleCount * sizeof(sf::Int16));
// Send the audio packet to the server
return m_socket.send(packet) == sf::Socket::Done;
}
////////////////////////////////////////////////////////////
/// \see SoundRecorder::onStop
///
////////////////////////////////////////////////////////////
virtual void onStop()
{
// Send a "end-of-stream" packet
sf::Packet packet;
packet << endOfStream;
m_socket.send(packet);
// Close the socket
m_socket.disconnect();
}
////////////////////////////////////////////////////////////
// Member data
////////////////////////////////////////////////////////////
sf::IpAddress m_host; ///< Address of the remote host
unsigned short m_port; ///< Remote port
sf::TcpSocket m_socket; ///< Socket used to communicate with the server
};
////////////////////////////////////////////////////////////
/// Create a client, connect it to a running server and
/// start sending him audio data
///
////////////////////////////////////////////////////////////
void doClient(unsigned short port)
{
// Check that the device can capture audio
if (!sf::SoundRecorder::isAvailable())
{
std::cout << "Sorry, audio capture is not supported by your system" << std::endl;
return;
}
// Ask for server address
sf::IpAddress server;
do
{
std::cout << "Type address or name of the server to connect to: ";
std::cin >> server;
}
while (server == sf::IpAddress::None);
// Create an instance of our custom recorder
NetworkRecorder recorder(server, port);
// Wait for user input...
std::cin.ignore(10000, '\n');
std::cout << "Press enter to start recording audio";
std::cin.ignore(10000, '\n');
// Start capturing audio data
recorder.start(44100);
std::cout << "Recording... press enter to stop";
std::cin.ignore(10000, '\n');
recorder.stop();
}
getchar();
return 0;
}
Błędy:
Checking project dependencies...
Compiling Project1.cbproj (Debug, Win32)
bcc32 command line for "File1.cpp"
c:\program files (x86)\borland\radstudio10.2\bin\bcc32.exe -D_DEBUG -n.\Win32\Debug -I"c:\program files (x86)\borland\radstudio10.2\include";
"c:\program files (x86)\borland\radstudio10.2\include\dinkumware";"c:\program files (x86)\borland\radstudio10.2\include\windows\crtl";"c:\program
files (x86)\borland\radstudio10.2\include\windows\sdk";"c:\program files (x86)\borland\radstudio10.2\include\windows\rtl";"c:\program files
(x86)\borland\radstudio10.2\include\windows\vcl";"c:\program files (x86)\borland\radstudio10.2\include\windows\fmx";
C:\Users\Public\Documents\Embarcadero\Studio\19.0\hpp\Win32;C:\Users\Public\Documents\Embarcadero\Studio\19.0\hpp\Win32 -y -Q -k -r- -c -tC -tM -C8
-o.\Win32\Debug\File1.obj -w-par -Od -v -vi- -H=.\Win32\Debug\Project1.pch -H File1.cpp
[bcc32 Error] Config.hpp(202): E2141 Declaration syntax error
Full parser context
File1.cpp(17): parsing: int main(int,char * *)
File1.cpp(22): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Audio.hpp
Audio.hpp(32): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/System.hpp
System.hpp(32): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Config.hpp
Config.hpp(202): namespace sf
[bcc32 Error] basetsd.h(73): E2215 Linkage specification not allowed
Full parser context
File1.cpp(17): parsing: int main(int,char * *)
File1.cpp(22): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Audio.hpp
File1.cpp(23): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Network.hpp
Network.hpp(33): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Network/Ftp.hpp
Ftp.hpp(32): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Network/TcpSocket.hpp
TcpSocket.hpp(32): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Network/Socket.hpp
Socket.hpp(32): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Network/SocketHandle.hpp
[bcc32 Error] basetsd.h(73): E2040 Declaration terminated incorrectly
Full parser context
File1.cpp(17): parsing: int main(int,char * *)
File1.cpp(22): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Audio.hpp
File1.cpp(23): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Network.hpp
Network.hpp(33): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Network/Ftp.hpp
Ftp.hpp(32): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Network/TcpSocket.hpp
TcpSocket.hpp(32): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Network/Socket.hpp
Socket.hpp(32): #include c:\program files (x86)\borland\radstudio10.2\include\SFML/Network/SocketHandle.hpp
[bcc32 Error] File1.cpp(28): E2316 'Uint8' is not a member of 'sf'
Full parser context
File1.cpp(17): parsing: int main(int,char * *)
[bcc32 Error] File1.cpp(28): E2040 Declaration terminated incorrectly
Full parser context
File1.cpp(17): parsing: int main(int,char * *)
[bcc32 Error] File1.cpp(36): E2316 'SoundRecorder' is not a member of 'sf'
Full parser context
File1.cpp(17): parsing: int main(int,char * *)
File1.cpp(35): class NetworkRecorder
[bcc32 Error] File1.cpp(36): E2303 Type name expected
Full parser context
File1.cpp(17): parsing: int main(int,char * *)
File1.cpp(35): class NetworkRecorder
[bcc32 Error] File1.cpp(46): E2316 'IpAddress' is not a member of 'sf'
Full parser context
File1.cpp(17): parsing: int main(int,char * *)
File1.cpp(35): class NetworkRecorder
[bcc32 Error] File1.cpp(46): E2293 ) expected
Full parser context
File1.cpp(17): parsing: int main(int,char * *)
File1.cpp(35): class NetworkRecorder
[bcc32 Error] File1.cpp(118): E2316 'TcpSocket' is not a member of 'sf'
Full parser context
File1.cpp(17): parsing: int main(int,char * *)
File1.cpp(35): class NetworkRecorder
[bcc32 Error] File1.cpp(118): E2040 Declaration terminated incorrectly
Full parser context
File1.cpp(17): parsing: int main(int,char * *)
File1.cpp(35): class NetworkRecorder
[bcc32 Error] File1.cpp(128): E2141 Declaration syntax error
Full parser context
File1.cpp(17): parsing: int main(int,char * *)
Failed
Elapsed time: 00:00:00.7